Comprendre nil en Go (Golang)
Définition de nil
En Go, nil est une valeur spéciale qui signifie "absence de valeur" ou "valeur nulle". C’est l’équivalent, dans d’autres langages, de null ou None.
Contrairement à des types numériques (int, float) ou booléens qui ont toujours une valeur par défaut, certains types en Go peuvent pointer vers quelque chose ou rien du tout. Quand ils ne pointent vers rien, ils valent nil.
Types qui peuvent être nil
Pointeurs
Un pointeur *T peut valoir nil s’il ne référence aucun objet en mémoire.
Slices
Une slice non initialisée ou "vide" peut être nil.
Maps
Une map peut être nil si elle n’a jamais été allouée (exemple : var m map[string]int).
Autres types
D’autres types, tels que chan (pour les channels) ou interface (pour les interfaces), peuvent également valoir nil. Nous les étudierons plus tard.
