sort map golang
// TopInMap 降序输出
func TopInMap(m map[string]int) {
type kv struct {
k string
v int
}
var kvs []kv
for k, v := range m {
kvs = append(kvs, kv{k, v})
}
sort.Slice(kvs, func(i, j int) bool {
//return kvs[i].v < kvs[j].v // 升序
return kvs[i].v > kvs[j].v // 降序
})
for _, v := range kvs {
fmt.Println(v.k, v.v)
}
}