var m map[int]string var keys []int for k := range m { keys = append(keys, k) } sort.Ints(keys) for _, k := range keys { fmt.Println("Key:", k, "Value:", m[k]) }
因为已经确定了m的长度,所以初始化keys slice的时候,直接指定长度会更加高效
1
keys := make([]int, 0, len(m))
2.3.判断两个map是否相同
不能直接判断两个map是否相同,需要自己实现
1 2 3 4 5 6 7 8 9 10 11
funccompareMapEqual(x, y map[string]int)bool { iflen(x) != len(y): returnfalse for k, xv := range(x){ if yv, ok := y[k]; !ok || xv != yv{ returnfalse } } returntrue }