Junior — Middle
V jakých případech je bezpečné číst data z Mapy, která ještě nebyla explicitně inicializována?
sobes.tech AI
Odpověď od 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.