Hostinger

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.