Go · Intermediário · Português · Técnico
map nil
Map não inicializado, zero value do tipo. Pode ser lido, devolvendo zero values, e percorrido, mas gravar nele causa panic.
Onde usar
O erro 'assignment to entry in nil map' aparece quando uma struct tem um campo map e ninguém chamou make no construtor. Inicialize no construtor.
Em código
var m map[string]int
fmt.Println(m["a"], len(m))
delete(m, "a")
m["a"] = 1 // panic: assignment to nil mapExemplos
Deu panic porque o campo é um map nil, faltou o make no construtor.
Ler de map nil não tem problema, só escrever.
Cuidado
Ler de um map nil é seguro; o perigo é só a escrita. Fazer delete em map nil também não tem efeito.
Sinônimos
nil map