package main import ( "fmt" "sort" ) type data struct { Key string val int } func main() { m := make(map[string]int) m["aone"] = 1 m["tree"] = 3 m["btwo"] = 2 m["five"] = 5 m["ctcen"] = 10 m["seven"] = 7 var datas []data for k, v := range m { datas = append(datas, data{ k, v, }) } // sort.Slice(datas, func(i, j int) bool { // 可以对key 进行排序,也可以根据 val 进行排序 //return datas[i].Key < datas[j].Key //按照 val 进行排序 return datas[i].val < datas[j].val }) fmt.Println(datas) } /* 总结,其实这个就是利用了 go 语言 切片 本身对 排序的封装的功能,sort.Slice 的功能的应用, */