Junior — Middle
A Go nyelvben egy string mely összetevőkből áll?
sobes.tech MI
Válasz az MI-től
A Go nyelvben a string egy változatlan byte-sorozatot jelent, amelyet általában UTF-8 kódolású szöveg tárolására használnak. A Go-ban a string fő összetevői:
- Byte-ok — magának a byte-sorozatnak a tárolója.
- Hossz — a stringben lévő byte-ok száma.
Belsőleg a string egy olyan struktúraként van megvalósítva, amely egy mutatóval egy byte-ökből álló tömbre és egy hosszra mutat. A string nem tartalmaz explicit elválasztót vagy terminátort.
Fontos megérteni, hogy a string nem egy karakterekből (runes) álló tömb, hanem egy byte-okat tartalmazó sorozat. Unicode karakterekkel való munka során a rune típus és a unicode/utf8 csomag függvényei használatosak.
Példa:
s := "Привет"
fmt.Println(len(s)) // A byte-ok számát írja ki, nem a karakterekét
runes := []rune(s)
fmt.Println(len(runes)) // A karakterek (runes) számát