Junior — Middle
Pouvez-vous expliquer comment la structure d'une chaîne est implémentée en programmation et de quoi elle est composée?
sobes.tech IA
Réponse de l'IA
En Go, une chaîne (string) est une séquence immuable d'octets, généralement représentant du texte en encodage UTF-8. En interne, une chaîne est implémentée comme une structure avec deux champs : un pointeur vers un tableau d'octets et une longueur.
Exemple d'une structure de chaîne simplifiée en Go :
// stringHeader — structure interne de la chaîne
import "reflect"
var s string = "hello"
header := (*reflect.StringHeader)(unsafe.Pointer(&s))
// header.Data — pointeur vers les octets
// header.Len — longueur de la chaîne
Les chaînes en Go sont immuables, donc toute opération modifiant la chaîne crée une nouvelle copie.