Junior — Middle
Mi történik, amikor egy iterációt hajtunk végre karakterlánc elemein a programozásban?
sobes.tech MI
Válasz az MI-től
Go-ban, amikor a for range ciklussal végigiterálunk egy szövegen, akkor Unicode-kódpontokon (runákon) keresztül haladunk, nem bájtokon. Ez azt jelenti, hogy a ciklus minden eleme egy Unicode-karakter, amely több bájtot is elfoglalhat UTF-8-ban.
Például:
s := "Привет"
for i, r := range s {
fmt.Printf("Index: %d, Rúna: %c\n", i, r)
}
Itt az i a rune első bájtjának indexe a szövegben, az r pedig maga a rune (karakter).
Így a szöveg iterálása Go-ban lehetővé teszi a többnyelvű karakterek helyes kezelését, és nem törik meg a UTF-8 többbájtos karaktereit.