Итерация по карте

m := map[string]int{"a": 1, "b": 2, "c": 3}

for k, v := range m {
    fmt.Printf("%s: %d\n", k, v)
}

Порядок итерации не определён. При каждом запуске он может быть разным — это намеренное решение Go. Не пишите код, который рассчитывает на конкретный порядок.

for k := range m {
    fmt.Println(k)
}

for _, v := range m {
    fmt.Println(v)
}

Если нужен фиксированный порядок — отсортируйте ключи отдельно:

import "sort"

keys := make([]string, 0, len(m))
for k := range m {
    keys = append(keys, k)
}
sort.Strings(keys)

for _, k := range keys {
    fmt.Printf("%s: %d\n", k, m[k])
}

Для группировки элементов:

groups := make(map[string][]string)
groups["fruits"] = append(groups["fruits"], "apple", "banana")
groups["vegs"]   = append(groups["vegs"], "carrot")

ЗаданиеСложность
1Упражнение 1easy
2Упражнение 2medium