ExpertiDict

Go · Intermediário · Português · Técnico

map nil

/ˈmɛp ˈniw/substantivo

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 map

Exemplos

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

Veja também

Todos os termos de Go