Junior — Middle
101
Қашан Map-қа әлі инициализацияланбаған операцияны орындауға болады?
Сұралған компаниялар
Самокат Тех
AI-дан жауап
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. Без этого операция вызовет ошибку времени выполнения.