Назад к вопросам
Junior — Middle
76
Какие операции и обработка возможны при работе с nil картами в языке программирования?
Компании, где спрашивали
Кадровое агентство BWG
Ответ от нейросети
sobes.tech AI
В Go карта (map) может иметь значение nil, что означает, что она не инициализирована и не указывает на реальную структуру данных.
Особенности работы с nil-картами:
- Чтение из nil-карты безопасно и всегда возвращает нулевое значение для типа значения, например,
0для int,""для string,nilдля указателей. - Запись (присваивание) в nil-карту приведёт к панике (runtime panic), так как карта не инициализирована.
- Проверить, что карта nil, можно сравнением с
nil.
Пример:
var m map[string]int // m == nil
fmt.Println(m["key"]) // Выведет 0, безопасно
m["key"] = 10 // Паника: assignment to entry in nil map
Чтобы использовать карту, её нужно инициализировать через make:
m = make(map[string]int)
m["key"] = 10 // теперь безопасно
Таким образом, nil-карты полезны для обозначения отсутствия данных, но перед записью их нужно инициализировать.