Sobes.tech
Junior — Middle

Pouvez-vous expliquer ce qu'est une tranche (slice) en programmation et comment elle fonctionne?

sobes.tech IA

Réponse de l'IA

Une tranche (slice) en Go est un fragment dynamique et modifiable d’un tableau. Elle représente une structure qui contient :

  • un pointeur vers le premier élément du tableau,
  • la longueur (le nombre d’éléments dans la tranche),
  • la capacité (le nombre maximum d’éléments que la tranche peut contenir sans réallocation).

Les tranches permettent de travailler avec des séquences d’éléments sans avoir besoin de copier les données.

Exemple de création et d’utilisation d’une tranche :

arr := [5]int{1, 2, 3, 4, 5}
slice := arr[1:4] // tranche des éléments avec indices 1,2,3
fmt.Println(slice) // [2 3 4]

slice = append(slice, 6) // ajout d’un élément, si nécessaire une nouvelle mémoire est allouée
fmt.Println(slice) // [2 3 4 6]

Les tranches sont pratiques car elles peuvent être créées à partir d’autres, leur taille modifiée et passées à des fonctions sans copier tout le tableau.