Sobes.tech
Junior — Middle

Hogyan valósulnak meg a stringek, és hogyan kapcsolódnak a runákhoz a Go nyelvben?

sobes.tech MI

Válasz az MI-től

A Go nyelvben a sztringeket a string típus képviseli, amely egy változatlan bájtokból álló sorozat, általában UTF-8 kódolásban. Ez azt jelenti, hogy a sztring bájtok sorozata, nem karakterek.

A rune típus egy Unicode kódpontot (int32) reprezentál. Unicode karakterekkel való munka során a sztringet rune-ok sorozatára konvertáljuk, ami lehetővé teszi a több bájtos karakterek helyes kezelését.

Példa:

s := "Привет"
for i, r := range s {
    fmt.Printf("%d: %c\n", i, r) // i — bájt index, r — rune (karakter)
}

runes := []rune(s) // a sztring konvertálása rune-ok sorozatára
fmt.Println(runes[0]) // első karakter rune-ként

Így a Go nyelvben a sztringek bájtok sorozatai, míg a rune-ok egyedi Unicode karakterek, amelyek lehetővé teszik a többnyelvű szövegekkel való helyes munkát.