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