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