Junior — Middle
Comment la réservation de mémoire pour une tranche est-elle effectuée dans le langage de programmation?
sobes.tech IA
Réponse de l'IA
Dans le langage Go, un slice est une structure qui contient un pointeur vers un tableau, une longueur et une capacité. Lors de la création d’un slice, la mémoire pour les éléments est réservée dans le tableau pointé.
Lorsqu’un slice est créé avec la fonction make, par exemple make([]int, length, capacity), un tableau avec la capacité spécifiée est alloué. Si lors de l’ajout d’éléments la capacité est dépassée, Go alloue automatiquement un nouveau tableau de taille supérieure, copie les données et met à jour le pointeur du slice.
Exemple :
s := make([]int, 0, 5) // slice avec longueur 0 et capacité 5
s = append(s, 1, 2, 3) // ajout d’éléments
Ainsi, la réservation de mémoire se fait à l’avance pour la capacité donnée, ce qui améliore l’efficacité lors de l’ajout d’éléments.