Основы Go
2026-02-26 22:28 Diff

Вложенные карты (map внутри map) используются, когда нужно хранить данные с двумя уровнями ключей. Например, если у нас есть пользователи, и у каждого из них есть набор настроек, можно использовать карту вида: map[string]map[string]string.

Пример: настройки пользователей

Допустим, у нас есть несколько пользователей, и мы хотим хранить для каждого их настройки:

В этом примере:

  • Ключи верхнего уровня — это имена пользователей ("alice", "bob").
  • Значения — карты с настройками (пары "ключ-настройки" : "значение").

Добавление элементов

Вот так будет выглядеть добавление вложенной карты:

Чтобы добавить или изменить конкретную настройку у существующего пользователя:

Инициализация вложенной карты

Если вложенная карта для пользователя ещё не создана, при обращении к ней будет возвращён nil. Перед изменением такой карты её нужно инициализировать:

Удаление элементов

Удаление вложенного элемента карты можно выполнить с delete():

  • Удалить одну настройку пользователя:

  • Удалить все настройки пользователя:

Перебор вложенных карт

Можно пройтись по всем пользователям и их настройкам:

Пример вывода: