Sobes.tech
Back to questions
Senior
1

Можем ли мы добавить элемент в nil map так же, как в nil-слайс?

Companies where asked
Магнум

Answer from AI

sobes.tech AI

В 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 и инициализирована.