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