请看下面我的地图var romanNumeralDict map[int]string = map[int]string{ 1000: "M", 900 : "CM", 500 : "D", 400 : "CD", 100 : "C", 90 : "XC", 50 : "L", 40 : "XL", 10 : "X", 9 : "IX", 5 : "V", 4 : "IV", 1 : "I",}我希望按密钥大小的顺序遍历此地图 for k, v := range romanNumeralDict { fmt.Println("k:", k, "v:", v) }但是,这会打印出来k: 1000 v: Mk: 40 v: XLk: 5 v: Vk: 4 v: IVk: 900 v: CMk: 500 v: Dk: 400 v: CDk: 100 v: Ck: 90 v: XCk: 50 v: Lk: 10 v: Xk: 9 v: IXk: 1 v: I有没有办法按照密钥大小的顺序打印出来,所以我想像这样循环遍历这张地图k:1K:4K:5K:9k:10等等...非常感谢您的帮助!
3 回答
跃然一笑
TA贡献1826条经验 获得超6个赞
收集所有键,对它们进行排序并按键迭代您的地图,如下所示:
keys := make([]int, 0)
for k, _ := range romanNumeralDict {
keys = append(keys, k)
}
sort.Ints(keys)
for _, k := range keys {
fmt.Println(k, romanNumeralDict[k])
}
- 3 回答
- 0 关注
- 146 浏览
添加回答
举报
0/150
提交
取消