Sobes.tech
Junior — Middle

Milyen eredményeket kapunk egy karakterlánc karaktereinek szekvenciális bejárásakor?

sobes.tech MI

Válasz az MI-től

A Go (Golang) nyelvben a karakterláncok szekvenciális bejárásakor általában a for range ciklust használják, amely a Unicode-kódpontokat, azaz a runékat (runes) iterálja.

Egy ilyen iteráció eredményeként minden karaktert a karakterláncban rune típusú értékként és annak pozícióját (indexet bájtokban) kapjuk meg.

Példa:

package main
import (
    "fmt"
)

func main() {
    s := "Привет"
    for i, r := range s {
        fmt.Printf("Index: %d, Karakter: %c\n", i, r)
    }
}

A kimenet tartalmazza az indexet (bájtokban) és a megfelelő karaktert. Ez fontos, mivel UTF-8-ban a karakterek különböző számú bájtot foglalhatnak el.

Így a szekvenciális bejárás lehetővé teszi a Unicode-sztringek helyes kezelését, minden karaktert teljes egészében, nem csak az egyes bájtokat, hanem az egész karaktert is eléri.