golang對map排序

golang中map元素是隨機無序的,所以在對map range遍歷的時候也是隨機的,不像php中是按順序。所以如果想按順序取map中的值,可以採用以下方式:

import (
    "fmt"
    "sort"
)

func main() {
    m := make(map[int]string)
    m[1] = "a"
    m[2] = "c"
    m[0] = "b"
	//拿到key
    var keys []int
    for k := range m {
        keys = append(keys, k)
    }
    //對key排序
    sort.Ints(keys)
	//根據key從m中拿元素,就是按順序拿了
    for _, k := range keys {
        fmt.Println("Key:", k, "Value:", m[k])
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章