Junior — Middle
Quels types dans le langage Go contiennent en leur sein un pointeur vers un segment de mémoire?
sobes.tech IA
Réponse de l'IA
Dans le langage Go, les types suivants contiennent en interne un pointeur vers un segment de mémoire :
- Slices (tranches) — la structure contient un pointeur vers un tableau, la longueur et la capacité.
- Maps (cartes) — implémentés en interne via des pointeurs vers une table de hachage.
- Channels (canaux) — contiennent un pointeur vers la structure interne du canal.
- Interfaces — contiennent un pointeur vers la table de méthodes et un pointeur vers les données.
Les types primitifs (int, float, bool, etc.) et les tableaux ne contiennent pas de pointeurs en interne, sauf si des pointeurs sont utilisés explicitement.
Par exemple, une tranche ressemble à ceci :
var s []int = []int{1, 2, 3}
// s contient un pointeur vers un tableau [1,2,3], la longueur et la capacité
Cela permet de travailler efficacement avec de grands ensembles de données sans copie.