[Golang]Map的一个绝妙特性

abv123456789 ·
hash map 一般是用key生成一个hash值 用hash值作为数组下标而 数组里的值 是key加value的一个结构。 所以如果key生成的hash值 是随机的那么 数组的下标就是随机的那么数组的顺序就是随机的。你循环这个hash数组就只能是无顺序的。
#5
更多评论
qkb_75_go
琴为心声
1) 相比与讲“HOW”的文章,本人更喜欢讲“WHY”的文章, 学习“go思维”比学习“go语法”更有意思得多多,收获也更大大的多多。 2)楼主此文,讲了半天,最后我们还是没有明白“为什么 hash的顺序要随机?”是技术上不成熟不划算?还是现有的算法都有缺陷?还是有bug做不到? 还是设计者就是牛逼他就是喜爱这么做,他就是故意不那么做,让我们大家适应他赞美他膜拜他? 楼主你总得讲讲道理卜来吧? 3)最后的那个benchmark 什么的没看懂什么意思。看楼主自己都写得高潮了都, 别价光顾着自己爽呀, 给我们大家绍介绍介,让大家跟着你一块爽爽,成不成呀?
#1
1.引用的那篇篇恰恰就是讲WHY的文章 2.很明显,hash map 类似c++里的unordered_map,是无序的,开发者不希望有人觉得有序是内置map的特性 3.这个都看不懂...神也帮不了你...
#2