go语言源码难懂吗 go语言编程实战( 三 )


假设当前map 的B == 5,原本元素经过hash函数计算的 hash 值为:
因为双倍扩容之后 B = B + 1,此时B == 6 。key1B == 1, 即 当前元素rehash到高位,新buckets中 y 部分. 否则 key1B == 0 则rehash到低位,即x 部分 。
使用方式:
可以看到,每一遍历生成迭代器的时候,会随机选取一个bucket 以及 一个cell开始 。从前往后遍历,再次遍历到起始位置时 , 遍历完成 。
go语言源码难懂吗的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于go语言编程实战、go语言源码难懂吗的信息别忘了在本站进行查找喔 。

推荐阅读