Назад к вопросам
Junior — Middle
78
В каких случаях допустимо выполнять операцию вставки в Map, которая еще не была инициализирована?
Компании, где спрашивали
Самокат Тех
Ответ от нейросети
sobes.tech AI
В Go нельзя выполнять операцию вставки в map, если она не была инициализирована (то есть равна nil), так как это приведёт к панике во время выполнения.
Инициализация map происходит с помощью функции make:
m := make(map[string]int)
m["key"] = 42 // корректно
Если map равна nil, попытка записи вызовет panic:
var m map[string]int
m["key"] = 42 // panic: assignment to entry in nil map
Исключение:
- Если
mapобъявлена, но не инициализирована, её можно инициализировать непосредственно перед вставкой. - Иногда
mapможет быть инициализирована в конструкторе или функции и передана дальше.
Таким образом, вставка в неинициализированную map допустима только после её явной инициализации через make или присвоения уже существующей инициализированной map. Без этого операция вызовет ошибку времени выполнения.