Go Valor cero de un mapa


Ejemplo

El valor cero de un map es nil y tiene una longitud de 0 .

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

Un mapa nil no tiene claves ni se pueden agregar claves. Un mapa nil comporta como un mapa vacío si se lee desde, pero provoca un pánico en el tiempo de ejecución si se escribe.

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

No debe intentar leer o escribir en un mapa de valor cero. En su lugar, inicialice el mapa (con make o asignación) antes de usarlo.

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