Junior — Middle
Mis juhtub, kui programmeerimises tehakse iteratsioon stringi elementide üle?
sobes.tech AI
Vastus AI-lt
Go keeles, kui teete stringi läbi for range tsükli, läbite Unicode koodipunktide (rune'ide) kaudu, mitte baitide. See tähendab, et iga tsükli element on Unicode märk, mis võib UTF-8-s võtta mitu baiti.
Näiteks:
s := "Привет"
for i, r := range s {
fmt.Printf("Indeks: %d, Ruun: %c\n", i, r)
}
Siin on i indeksi esimese bait'i rune'is stringis, ja r on ise rune (märk).
Sellisel viisil võimaldab stringi läbimine Go-s õigesti töötada mitmekeelse märkidega ning ei murra UTF-8 mitme baitiga märke.