前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >2020-11-27:go中,map的读流程是什么?

2020-11-27:go中,map的读流程是什么?

原创
作者头像
福大大架构师每日一题
修改2020-11-30 11:26:12
修改2020-11-30 11:26:12
3860
举报

福哥答案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不存在。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档