Sobes.tech
Junior — Middle
106

Жасалмаған немесе бастапқы мәндері берілмеген Map-қа элементтер қосуға бола ма?

Сұралған компаниялар
Эрливидео
Самокат Тех

AI-дан жауап

sobes.tech AI

В Go нельзя добавлять элементы в map, если она не была инициализирована. При объявлении переменной типа map без инициализации она имеет значение nil, и попытка записи в такую map приведёт к панике времени выполнения.

Чтобы добавить элементы, нужно сначала создать map с помощью функции make или инициализировать литералом:

var m map[string]int // m == nil
m["key"] = 1 // panic: assignment to entry in nil map

m = make(map[string]int) // теперь m инициализирована
m["key"] = 1 // работает

// или сразу инициализировать
m2 := map[string]int{"initial": 10}
m2["key"] = 1 // работает

Таким образом, перед добавлением элементов map должна быть создана и не равна nil.