相关疑难解决方法(0)

为什么Go不能按插入顺序迭代地图?

我有一个导航栏作为地图:

var navbar = map[string]navbarTab{
}
Run Code Online (Sandbox Code Playgroud)

哪里navbarTab有各种属性,儿童用品等.当我尝试渲染导航栏(带for tabKey := range navbar)时,它以随机顺序显示.我知道range它在运行时会随机排序,但似乎无法获得有序的键列表或迭代插入顺序.

游乐场链接在这里:http://play.golang.org/p/nSL1zhadg5虽然它似乎没有表现出相同的行为.

如何在不破坏插入顺序的情况下迭代此地图?

dictionary go

10
推荐指数
2
解决办法
5734
查看次数

在Golang中,为什么地图迭代是随机的?

从Golang 源代码看,它们似乎遵循哈希表(即存储桶数组)的相当标准的实现。基于此,对于不变的映射,迭代应该是确定性的(即按顺序迭代数组,然后按顺序在存储桶中迭代)。他们为什么要使迭代是随机的?

dictionary go

3
推荐指数
2
解决办法
168
查看次数

标签 统计

dictionary ×2

go ×2