Go的map不保證順序,所以要依放入順序遍歷map的值可透過有序的slice來記錄順序。
下面範例利用keys
slice紀錄放入map時的key順序,則遍歷map時則改遍歷有順序的keys
依序以儲存的key來取得map中的值。
main.go
package main
import "fmt"
func main() {
m := make(map[int]string)
var keys []int
k1 := 1
m[k1] = "john"
keys = append(keys, k1)
k2 := 2
m[k2] = "mary"
keys = append(keys, k2)
k3 := 5
m[k3] = "tony"
keys = append(keys, k3)
for _, k := range keys {
fmt.Printf("key=%d, value=%s\n", k, m[k])
}
}
執行後印出以下。
key=1 value=john
key=2 value=mary
key=5 value=tony
沒有留言:
張貼留言