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.