我想知道为什么当我声明这样的映射时,golang可以实现顺序遍历?

问题描述 投票:0回答:1

不是输出乱序QAQ

这是我的代码

var i=map[int]int{
   1:1,
   2:2,
   3:3,
}
for i2, i3 := range i {
       fmt.Println(i2, i3)
}

输出为

1 1
2 2
3 3

为什么????

go hash hashmap
1个回答
0
投票

转到地图不保证迭代顺序。实际上,顺序可以从一个迭代更改为另一个,并且插入顺序和特定于类型的值顺序无关。更多信息在这里:

https://blog.golang.org/go-maps-in-action

© www.soinside.com 2019 - 2024. All rights reserved.