Основы Go
2026-02-26 20:54 Diff

Чтобы пройтись по всем элементам карты, в Go используется цикл for range.

Полный перебор ключей и значений

Обычно при работе с картой нужны и ключ, и значение. Для этого используются две переменные:

Пример вывода (порядок может быть любым):

В отличие от срезов, порядок обхода элементов карты не гарантируется — он может быть разным при каждом запуске программы. Это связано с внутренней реализацией map и важно учитывать, если требуется получить данные в определённом порядке. Для этого ключи карты можно извлечь в срез, отсортировать и обойти уже его.

Перебор только ключей

Если нужно обойти только ключи, можно использовать одну переменную:

Перебор только значений

Если нужен только список значений, ключ можно пропустить, заменив его на _:

Проверка содержимого при переборе

Иногда нужно не просто вывести все элементы, а проверить условие для каждого из них. Например, найти первого человека старше 20 лет:

Пример с сортировкой ключей

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

Преобразование карты в срез пар

Иногда бывает полезно сконвертировать карту в срез структур для дальнейшей обработки (например, сортировки по значениям):