Junior — Middle
Pouvez-vous expliquer le principe de fonctionnement des slices dans le langage de programmation?
sobes.tech IA
Réponse de l'IA
Une tranche (slice) en Go est une vue dynamique et modifiable d'une séquence d'éléments du même type. Elle contient :
- un pointeur vers un tableau,
- la longueur (le nombre d'éléments dans la tranche),
- la capacité (le nombre maximum d'éléments qu'elle peut contenir sans allocation de mémoire supplémentaire).
Les tranches permettent de travailler avec des parties de tableaux ou de créer de nouvelles séquences dynamiques sans copier les données.
Exemple :
arr := [5]int{1, 2, 3, 4, 5}
s := arr[1:4] // tranche d'éléments avec indices 1,2,3 : [2 3 4]
fmt.Println(s) // [2 3 4]
s = append(s, 6) // ajoute un élément, si la capacité le permet, la tranche s'étend
Les tranches sont utiles car elles permettent de travailler efficacement avec des données, sans copier les tableaux, et de modifier dynamiquement la taille de la séquence.