Junior — Middle
In welchen Fällen ist es sicher, Daten aus einer Map zu lesen, die noch nicht explizit initialisiert wurde?
sobes.tech KI
Antwort von 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.