Go Valore zero di una mappa


Esempio

Il valore zero di una map è nil e ha una lunghezza pari a 0 .

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

Una mappa nil non ha chiavi e non è possibile aggiungere le chiavi. Una mappa nil si comporta come una mappa vuota se letta da ma provoca un panico di runtime se viene scritta.

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

Non dovresti provare a leggere o scrivere su una mappa a valore zero. Invece, inizializza la mappa (con make o assignment) prima di usarla.

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