按键对Go地图值进行排序

按键对Go地图值进行排序,第1张

按键对Go地图值进行排序

在围棋博客:去映射在行动中有极好的说明。

当使用范围循环在地图上进行迭代时,未指定迭代顺序,并且不能保证每次迭代之间都相同。从Go
1开始,运行时间会随机化映射迭代顺序,因为程序员依赖于先前实现的稳定迭代顺序。如果需要稳定的迭代顺序,则必须维护一个指定该顺序的单独的数据结构。

这是我对示例代码的修改后的版本:http :
//play.golang.org/p/dvqcGPYy3-

package mainimport (    "fmt"    "sort")func main() {    // To create a map as input    m := make(map[int]string)    m[1] = "a"    m[2] = "c"    m[0] = "b"    // To store the keys in slice in sorted order    var keys []int    for k := range m {        keys = append(keys, k)    }    sort.Ints(keys)    // To perform the opertion you want    for _, k := range keys {        fmt.Println("Key:", k, "Value:", m[k])    }}

输出:

Key: 0 Value: bKey: 1 Value: aKey: 2 Value: c


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5016006.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-14
下一篇2022-11-14

发表评论

登录后才能评论

评论列表(0条)

    保存