Junior — Middle
Milyen jellemzői vannak a karakterlánc karaktereinek bejárásakor a programozásban?
sobes.tech MI
Válasz az MI-től
Go-ban a sztringek bájtok sorozataként vannak ábrázolva, de gyakran tartalmaznak UTF-8 kódolású karaktereket, ahol egy karakter (egy rune) több bájtot is elfoglalhat. Egy sztring indexek szerinti bejárásakor (például for i := 0; i < len(s); i++) bájtokat járunk végig, nem a karaktereket, ami hibás feldolgozáshoz vezethet többbájtos karakterek esetén.
A karakterek helyes bejárásához a for range ciklust használjuk, amely a runékon (Unicode kódpontokon) iterál:
s := "Привет"
for i, r := range s {
fmt.Printf("index: %d, karakter: %c\n", i, r)
}
Itt az i a runé első bájtjának indexe a sztringben, az r maga a rune. Ez fontos a többnyelvű szövegek és az ASCII-n kívüli karakterek helyes kezeléséhez.