Sobes.tech
Junior — Middle

Que se passe-t-il si on crée une tranche avec une valeur nulle et quelles opérations sont autorisées avec elle?

sobes.tech IA

Réponse de l'IA

Dans Go, une tranche avec une valeur nulle est une tranche nil. Elle ne pointe vers aucun tableau et a une longueur et une capacité égales à zéro.

Opérations autorisées avec une telle tranche :

  • Obtenir la longueur et la capacité (len(slice) == 0, cap(slice) == 0)
  • Itérer sur la tranche (la boucle ne s'exécutera pas)
  • Ajouter des éléments via append, ce qui créera une nouvelle tranche avec de la mémoire allouée

Exemple :

var s []int // tranche nil
fmt.Println(s == nil) // true
fmt.Println(len(s))   // 0
s = append(s, 1)      // maintenant s n'est pas nil, contient un élément

Il n'est pas possible d'accéder aux éléments par indice, car la tranche est vide et cela provoquera une panique.