Sobes.tech
Назад к вопросам
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. Без этого операция вызовет ошибку времени выполнения.