Назад к вопросам
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.