Основы Go
2026-02-26 17:31 Diff

Карты (map) часто используются для хранения данных, связанных с уникальными ключами. Частый пример — хранение структур (например, пользователей, заказов, товаров), где ключ — это уникальный идентификатор (ID).

Базовый пример

Предположим, у нас есть структура User:

Создадим карту, где ключ — целое число (ID), а значение — структура User:

Проблема копий

При получении элемента из карты возвращается копия значения, а не ссылка на оригинал:

Чтобы изменить данные в карте, нужно явно присвоить изменённую структуру обратно:

Использование указателей

Если нужно часто изменять данные, удобнее хранить в карте указатели на структуры:

В этом случае карта хранит ссылки на объекты, и изменения применяются напрямую.

Перебор карты со структурами

Перебор элементов ничем не отличается от обычных карт:

Если карта хранит указатели, цикл будет работать аналогично, только user уже будет указателем.