Sobes.tech
Senior

Da li možemo dodati element u nil mapu isto kao i u nil slice?

sobes.tech АИ

Одговор од АИ

В Go нельзя добавить элемент в nil map — это приведёт к панике во время выполнения.

Карта (map) должна быть инициализирована перед использованием, например с помощью make:

var m map[string]int // m == nil
m["key"] = 1 // panic: assignment to entry in nil map

m = make(map[string]int)
m["key"] = 1 // работает корректно

В отличие от слайсов, к которым можно применять append даже если они nil (в этом случае создаётся новый слайс), карты требуют явной инициализации.

Поэтому перед добавлением элементов в map всегда нужно убедиться, что она не nil и инициализирована.