Sobes.tech
Junior — Middle

U kojim slučajevima je sigurno čitati podatke iz Map koje još nisu bile eksplicitno inicijalizovane?

sobes.tech АИ

Одговор од АИ

В 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.