Sobes.tech
Junior — Middle

Môžete vysvetliť, ako je v programovaní implementovaná štruktúra reťazca a z čoho pozostáva?

sobes.tech AI

Odpoveď od AI

V jazyku Go je reťazec (string) nemenná sekvencia bajtov, zvyčajne predstavujúca text v kódovaní UTF-8. Interné je reťazec implementovaný ako štruktúra so dvoma poľami: ukazovateľom na pole bajtov a dĺžkou.

Príklad zjednodušenej štruktúry reťazca v Go:

// stringHeader — interná štruktúra reťazca
import "reflect"

var s string = "hello"
header := (*reflect.StringHeader)(unsafe.Pointer(&s))
// header.Data — ukazovateľ na bajty
// header.Len — dĺžka reťazca

Reťazce v Go sú nemenné, takže akákoľvek operácia, ktorá mení reťazec, vytvorí novú kópiu.