Junior — Middle
Puteți explica cum este implementată structura unui șir în programare și din ce este compusă?
sobes.tech AI
Răspuns de la AI
În Go, un șir (string) este o secvență imuabilă de octeți, de obicei reprezentând text în codificarea UTF-8. Intern, un șir este implementat ca o structură cu două câmpuri: un pointer către un array de octeți și o lungime.
Exemplu de structură simplificată a unui șir în Go:
// stringHeader — structură internă a șirului
import "reflect"
var s string = "hello"
header := (*reflect.StringHeader)(unsafe.Pointer(&s))
// header.Data — pointer către octeți
// header.Len — lungimea șirului
Șirurile în Go sunt imuabile, astfel încât orice operație care modifică șirul creează o copie nouă.