Sobes.tech
Назад к вопросам
Junior — Middle
78

Можно ли добавлять элементы в Map, которая ещё не была создана или не получила начальных значений?

Компании, где спрашивали
Эрливидео
Самокат Тех

Ответ от нейросети

sobes.tech AI

В Go нельзя добавлять элементы в map, если она не была инициализирована. При объявлении переменной типа map без инициализации она имеет значение 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 инициализирована
m["key"] = 1 // работает

// или сразу инициализировать
m2 := map[string]int{"initial": 10}
m2["key"] = 1 // работает

Таким образом, перед добавлением элементов map должна быть создана и не равна nil.