Ответ
В Go можно отсортировать значения мапы по ключам, выполнив следующие шаги:
- Получить ключи из мапы
- Отсортировать ключи
- Пройти по отсортированным ключам и получить значения
Пример:
package main
import (
"fmt"
"sort"
)
func main() {
m := map[int]string{
3: "three",
1: "one",
4: "four",
2: "two",
}
// 1. Получаем ключи
keys := make([]int, 0, len(m))
for k := range m {
keys = append(keys, k)
}
// 2. Сортируем ключи
sort.Ints(keys)
// 3. Получаем значения по отсортированным ключам
for _, k := range keys {
fmt.Println(k, m[k])
}
}
Вывод:
1 one
2 two
3 three
4 four
Для других типов ключей используйте соответствующие функции сортировки из пакета sort.