Junior — Middle
Dans quelle partie de la mémoire le tableau de données est-il placé lors de l'exécution du programme?
sobes.tech IA
Réponse de l'IA
En Go, les tableaux peuvent être placés dans différentes zones de mémoire en fonction du contexte:
- Si un tableau est déclaré comme une variable locale à l'intérieur d'une fonction et ne dépasse pas ses limites, il est généralement placé dans la pile.
- Si le tableau est créé dynamiquement (par exemple, à l'aide de
newou d'une tranche qui fait référence à un tableau), il est placé dans le tas.
Il est important de comprendre que les tranches en Go sont des structures contenant un pointeur vers un tableau, une longueur et une capacité. Le tableau lui-même peut se trouver dans le tas ou dans la pile, selon où il est créé et comment il est utilisé.
Exemple:
func exemple() {
var arr [5]int // placé dans la pile
slice := make([]int, 5) // tableau dans le tas
_ = arr
_ = slice
}