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