Go语言中文网,致力于每日分享编码知识,欢迎关注我,会有意想不到的收获!
![4eea165c33831a9fbb2f724f3ab1eed8.png](https://img-blog.csdnimg.cn/img_convert/4eea165c33831a9fbb2f724f3ab1eed8.png)
有的小伙伴没留意过 Go map 输出顺序,以为它是稳定的有序的;有的小伙伴知道是无序的,但却不知道为什么?有的却理解错误?今天我们将通过本文,揭开 for range map 的 “神秘” 面纱,看看它内部实现到底是怎么样的,输出顺序到底是怎么样?
01
前言
![292c1c8b9f21299a81251a3d8c0ba3c8.png](https://img-blog.csdnimg.cn/img_convert/292c1c8b9f21299a81251a3d8c0ba3c8.png)
假设运行这段代码,输出结果是按顺序?还是无序输出呢?
2019/04/03 23:27:29 k: 3, v: EDDYCJY42019/04/03 23:27:29 k: 4, v: EDDYCJY52019/04/03 23:27:29 k: 0, v: EDDYCJY12019/04/03 23:27:29 k: 1, v: EDDYCJY22019/04/03 23:27:29 k: 2, v: EDDYCJY3
从输出结果上来讲,是非固定顺序输出