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.