Junior — Middle
Puoi spiegare come è implementata la struttura di una stringa in programmazione e di cosa è composta?
sobes.tech AI
Risposta dell'AI
In Go, una stringa (string) è una sequenza immutabile di byte, solitamente rappresentante testo in codifica UTF-8. Internamente, una stringa è implementata come una struttura con due campi: un puntatore a un array di byte e una lunghezza.
Esempio di una struttura di stringa semplificata in Go:
// stringHeader — struttura interna della stringa
import "reflect"
var s string = "hello"
header := (*reflect.StringHeader)(unsafe.Pointer(&s))
// header.Data — puntatore ai byte
// header.Len — lunghezza della stringa
Le stringhe in Go sono immutabili, quindi qualsiasi operazione che modifica la stringa crea una nuova copia.