Что произойдёт при записи в неинициализированную map в Go?

Запись в nil-map вызывает panic: assignment to entry in nil map. Перед записью её нужно создать через make или литерал.

Короткий ответ

Что ответить на собеседовании

Запись в nil-map вызывает panic: assignment to entry in nil map. Перед записью её нужно создать через make или литерал.

Подробный разбор

Ответ с пояснениями

Условие

Что произойдёт при записи в неинициализированную map в Go?

Ответ

Запись в nil-map вызывает panic: assignment to entry in nil map. Перед записью её нужно создать через make или литерал.

var values map[string]int
values = make(map[string]int)
values["a"] = 1

Чтение из nil-map допустимо и возвращает нулевое значение типа элемента, len равен нулю, delete безопасен. Но это не означает, что такая map готова принимать записи. Проверять и инициализировать общую map при конкуренции также нужно синхронизированно.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее