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]) } }