Sobes.tech
Junior — Middle

É possível adicionar elementos a um Map que ainda não foi criado ou não recebeu valores iniciais?

sobes.tech IA

Resposta da IA

Em Go, não é possível adicionar elementos a um map se ele não tiver sido inicializado. Ao declarar uma variável do tipo map sem inicialização, ela tem o valor nil, e tentar escrever nesse map resultará numa panic em tempo de execução.

Para adicionar elementos, primeiro deve criar um map usando a função make ou inicializá-lo com um literal:

var m map[string]int // m == nil
m["key"] = 1 // panic: atribuição a entrada em map nulo

m = make(map[string]int) // agora m está inicializado
m["key"] = 1 // funciona

// ou inicializar diretamente
m2 := map[string]int{"initial": 10}
m2["key"] = 1 // funciona

Assim, antes de adicionar elementos, o map deve ser criado e não deve ser nil.