Sobes.tech
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.