Вступить в клуб →
средняявопросОсновы Go: типы, ошибки, интерфейсы

Запись в nil map роняет сервис, а чтение — нет

Структура конфигурации собирается из YAML, и поле Limits осталось незаполненным:

type Config struct {
    Limits map[string]int
}

func main() {
    var cfg Config
    fmt.Println(cfg.Limits["rps"])
    cfg.Limits["rps"] = 100
}

Какое поведение верно?

  • Чтение вернёт `0`, а запись вызовет панику: присваивание в nil map
  • И чтение, и запись вызовут панику — map не инициализирована
  • Map создастся автоматически при первой записи, паники не будет
  • Компилятор не пропустит обращение к неинициализированной map

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела