Sobes.tech
Junior — Middle
109

Бейімделмеген картадан мәнді шығарып алуға бола ма?

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

AI-дан жауап

sobes.tech AI

В Go, если карта (map) не была инициализирована (то есть равна nil), попытка извлечь из неё значение по ключу не вызовет паники, а просто вернёт нулевое значение для типа значения и булевый флаг false, указывающий, что ключ отсутствует.

Пример:

var m map[string]int // m == nil

value, ok := m["key"]
fmt.Println(value, ok) // Выведет: 0 false

Однако, если попытаться записать значение в неинициализированную карту, возникнет паника:

m["key"] = 10 // panic: assignment to entry in nil map

Поэтому для безопасного использования карты её нужно инициализировать, например, с помощью make:

m = make(map[string]int)
m["key"] = 10 // теперь работает корректно