go语言之map排序

时间:2025-02-23 07:58:01
package main import ( "sort" "fmt" ) func main() { lockTest() } func lockTest() { var mp map[string]int mp = make(map[string]int) mp["1"] = 1 mp["5"] = 45 mp["6"] = 3 mp["4"] = 22 mp["2"] = 5 mp["3"] = 16 sortMap(mp) () sortMap2(mp) } /** 根据key排序 */ func sortMap2(mp map[string]int) { var newMp = make([]string, 0) for k, _ := range mp { newMp = append(newMp, k) } (newMp) for _, v := range newMp { ("根据key排序后的新集合》》 key:", v, " value:", mp[v]) } } /** 根据value排序 */ func sortMap(mp map[string]int) { var newMp = make([]int, 0) var newMpKey = make([]string, 0) for oldk, v := range mp { newMp = append(newMp, v) newMpKey = append(newMpKey, oldk) } (newMp) for k, v := range newMp { ("根据value排序后的新集合》》 key:", newMpKey[k], " value:", v) } }