Sobes.tech
Junior — Middle

Quels changements se produisent avec le slice lors de l'utilisation de la fonction Append en langage Go?

sobes.tech IA

Réponse de l'IA

Dans le langage Go, la fonction append est utilisée pour ajouter des éléments à une tranche (slice). Lorsqu'on appelle append, les changements suivants se produisent :

  • Si la capacité de la tranche est suffisante, les nouveaux éléments sont simplement ajoutés au tableau existant, et la longueur de la tranche augmente.
  • Si la capacité n'est pas suffisante, un nouveau tableau de taille plus grande est créé, dans lequel les anciens éléments sont copiés et les nouveaux ajoutés. Une nouvelle tranche pointant vers ce tableau est renvoyée.

Il est important de se rappeler que append retourne une nouvelle tranche, il faut donc l'assigner à nouveau :

s := []int{1, 2, 3}
s = append(s, 4, 5)

Sans cette assignation, la tranche d'origine ne sera pas modifiée.