Sobes.tech
Junior — Middle

Ce se întâmplă atunci când se face o iterație peste elementele de șir în programare?

sobes.tech AI

Răspuns de la AI

În Go, atunci când iterezi peste un șir de caractere folosind bucla for range, se parcurg punctele de cod Unicode (runas), nu bytes. Asta înseamnă că fiecare element al buclei este un caracter Unicode, care poate ocupa mai mulți bytes în UTF-8.

De exemplu:

s := "Привет"
for i, r := range s {
    fmt.Printf("Indice: %d, Runa: %c\n", i, r)
}

Aici, i este indexul primului byte al rune-ului în șir, iar r este chiar rune-ul (caracterul).

Astfel, iterarea peste un șir în Go permite lucrul corect cu caractere multilingve și nu rupe caracterele multibyte în UTF-8.