Junior — Middle
117
Чӣ мешавад, вақте ки шумо бо объекте аз навъи Map кор мекунед, агар пеш аз истифодаи он ба он оғоз накунед ё ба таври мустақим дар вақти эълон кардан арзиш надиҳед?
Ҷавоб аз AI
sobes.tech AI
В Go объект типа map при объявлении без инициализации (через make или присвоение значения) имеет значение nil. Попытка записать элемент в такой nil-map приведет к панике времени выполнения (runtime panic). Однако чтение из nil-map безопасно и просто вернет нулевое значение для типа значения.
Пример:
var m map[string]int // m == nil
// Чтение безопасно:
fmt.Println(m["key"]) // Выведет 0
// Запись вызовет панику:
m["key"] = 10 // panic: assignment to entry in nil map
Поэтому перед использованием map для записи обязательно нужно инициализировать её, например:
m = make(map[string]int)