Основы Go
Теория: Обход карт
Чтобы пройтись по всем элементам карты, в Go используется цикл for range.
Полный перебор ключей и значений
Обычно при работе с картой нужны и ключ, и значение. Для этого используются две переменные:
Пример вывода (порядок может быть любым):
В отличие от срезов, порядок обхода элементов карты не гарантируется — он может быть разным при каждом запуске программы. Это связано с внутренней реализацией map и важно учитывать, если требуется получить данные в определённом порядке. Для этого ключи карты можно извлечь в срез, отсортировать и обойти уже его.
Перебор только ключей
Если нужно обойти только ключи, можно использовать одну переменную:
Перебор только значений
Если нужен только список значений, ключ можно пропустить, заменив его на _:
Проверка содержимого при переборе
Иногда нужно не просто вывести все элементы, а проверить условие для каждого из них. Например, найти первого человека старше 20 лет:
Пример с сортировкой ключей
Чтобы получить элементы карты в определённом порядке, нужно отдельно собрать ключи, отсортировать их и пройтись по ним:
Преобразование карты в срез пар
Иногда бывает полезно сконвертировать карту в срез структур для дальнейшей обработки (например, сортировки по значениям):





