package main import ( "fmt" "sort" ) func main() { //golang中没有一个专门的方法针对map的key进行排序 //golang中的map默认为是无序的,也不是按照添加的顺序存放的,每次遍历得到的输出可能不一样 //golang中的map排序,是先将key进行排序,然后根据key值遍历输出 num := make(map[int]int, 8) num[0] = 100 num[1] = 80 num[7] = 78 num[5] = 64 num[2] = 787 num[6] = 666 fmt.Println(num) //如果按照map的key的顺序进行排序输出 /* 1.先将map的key放入切片中 2.对切片排序 3.遍历切片,按照key来输出map值 */ var key []int for k, _ := range num { key = append(key, k) } sort.Ints(key) fmt.Println(key) for _, k := range key { fmt.Printf("num[%v] = %v \n", k, num[k]) } }