Sobes.tech
Senior

Qu'est-ce qu'un slice et en quoi diffère-t-il d'un tableau?

sobes.tech IA

Réponse de l'IA

En Go, un tableau est une structure de taille fixe contenant des éléments du même type. La taille du tableau est définie lors de la déclaration et ne peut pas changer pendant l'exécution du programme.

Slice est une tranche dynamique et modifiable de tableau. C'est une structure qui contient un pointeur vers le tableau, la longueur et la capacité. Les slices permettent de travailler avec des sous-ensembles du tableau et de s'étendre automatiquement si nécessaire.

Principales différences:

  • Taille: le tableau a une taille fixe, le slice est dynamique.
  • Passage: les tableaux sont passés par valeur (copiés), les slices par référence (pointeur vers le tableau).
  • Flexibilité: le slice peut être étendu avec la fonction append, le tableau non.

Exemple:

var arr [3]int = [3]int{1, 2, 3} // tableau de taille fixe

var s []int = arr[0:2] // slice référant à une partie du tableau

s = append(s, 4) // le slice s'étend, un nouveau tableau est créé si nécessaire