Go的map的个什么结构
type
status
date
slug
summary
tags
category
icon
password
Property
Sep 5, 2023 01:00 PM
实际上
Go的map和Java7之前的HashMap, 非常相似。都是Array + LinkedTable的结构。结构
map数据结构由runtime/map.go/hmap定义:bucket数据结构由runtime/map.go/bmap定义:这里使用的数组对齐方式来存放数据。
overflow指向下一个bucket.工作流程
首先通过
key计算Hash值,通过Hash的低位,计算出该元素需要存放在buckets中的哪一个bucket.
如果Hash冲突,也就是当前bucket已经有人进去了。那么就使用该bucket的overflow指向自己的bucket.查找元素也是大同小异。
Loading...