Junior — Middle
Comment la taille occupée par un slice dans un langage de programmation est-elle déterminée?
sobes.tech IA
Réponse de l'IA
En Go, une tranche (slice) est une structure qui contient trois champs : un pointeur vers un tableau, une longueur et une capacité. La taille de la tranche en mémoire est déterminée par la somme de ces trois champs.
Typiquement, la taille d'une tranche occupe 24 octets sur des systèmes 64 bits (8 octets par champ).
Important : la tranche elle-même ne contient pas les données, elle ne fait que référencer un tableau où sont stockés les éléments. La taille des données dépend de la longueur de la tranche et de la taille du type des éléments.
Exemple :
var s []int
// s occupe une taille fixe (24 octets),
// mais les données auxquelles il fait référence occupent len(s)*sizeof(int) octets