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