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.