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