Sobes.tech
Junior — Middle

Comment distinguer les méthodes de création de tranches en Go avec var, make et assignation par index ou via append?

sobes.tech IA

Réponse de l'IA

En Go, les slices peuvent être créées de différentes manières, qui diffèrent par l'initialisation et l'allocation de mémoire:

  1. Déclaration avec var — crée une slice nil, qui ne pointe pas vers un tableau et a une longueur et une capacité de 0.
var s []int // slice nil
  1. Création d'une slice via make — alloue un tableau de longueur et capacité spécifiées, et retourne une slice pointant vers ce tableau.
s := make([]int, 5) // slice de longueur 5, rempli de zéros
  1. Assignation par indices — seulement possible si la slice est déjà initialisée et a une longueur suffisante.

  2. Ajout d'éléments avec append — ajoute des éléments à la slice, et si nécessaire, augmente la capacité et alloue un nouveau tableau.

s = append(s, 10) // ajoute l'élément 10 à la slice

Ainsi, var crée une slice nil vide, make une slice avec mémoire allouée, l'assignation par indices nécessite une longueur existante, et append étend la slice dynamiquement.