Go Valeur zéro d'une carte


Exemple

La valeur zéro d'une map est nil et a une longueur de 0 .

var m map[string]string
fmt.Println(m == nil) // true
fmt.Println(len(m) ==0) // true

Une carte nil n'a pas de clé et les clés ne peuvent pas être ajoutées. Une carte nil se comporte comme une carte vide si elle est lue mais provoque une panique à l'exécution si elle est écrite.

var m map[string]string

// reading
m["foo"] == "" // true. Remember "" is the zero value for a string
_, ok = m["foo"] // ok == false

// writing
m["foo"] = "bar" // panic: assignment to entry in nil map

Vous ne devriez pas essayer de lire ou d'écrire sur une carte de valeur zéro. Au lieu de cela, initialisez la carte (avec make ou affectation) avant de l'utiliser.

var m map[string]string
m = make(map[string]string) // OR m = map[string]string{}
m["foo"] = "bar"