福哥答案2020-11-27:
答案来自此链接:
源码位于runtime/map.go文件中的mapaccess1函数和mapaccess2函数。
value:=info["name"]
1.结合哈希因子和键name生成哈希值。
2.获取哈希值的后B位,并根据后B位的值来决定将此键值对存放到哪个桶中(bmap)。
3.确定桶之后,再根据key的哈希值计算出tophash(高8位),根据tophash和key去桶中查找数据。
当前桶如果没找到,则根据overflow再去溢出桶中找,均为找到则表示key不存在。