Основы Go
Теория: Карты
Карты (map) — это встроенный тип данных в Go для хранения пар «ключ-значение». Они позволяют быстро находить, добавлять и удалять данные по ключу. Карты используются везде, где нужен ассоциативный массив или словарь.
Определение карты
Карту можно объявить без инициализации:
Здесь map[string]int — это тип карты, где:
- Ключ имеет тип
string. - Значение имеет тип
int.
Ключами в Go могут быть любые типы данных, которые сравнимы (comparable). Это значит, что они могут использоваться в операциях == и !=. Это могут быть строки, числа, булевы значения, массивы фиксированной длины и структуры со сравниваемыми полями. Срезы, карты и функции не могут быть ключами, так как они не поддерживают сравнение.
Создание карты
При объявлении карта равна nil.
Чтобы начать её использовать, необходимо явно выделить память с помощью make():
Можно создать карту и сразу инициализировать её значениями через литерал:
Обращение к элементам
Чтобы получить значение по ключу, используется синтаксис map[key]:
Если обратиться к несуществующему ключу, будет возвращено значение по умолчанию для типа, например 0 для чисел или пустая строка для string:
Проверка существования ключа
Чтобы проверить, есть ли ключ в карте, используется «двойное присваивание»:
Переменная exists будет true, если ключ найден, и false — если нет.
Удаление элемента
Удалить элемент из карты можно с помощью встроенной функции delete():
Если ключа нет, delete() просто ничего не делает.
Размер карты
Чтобы узнать количество элементов в карте, используется len():





