Closed kjh123 closed 5 years ago
在本文,我更加深入的学习到了如下:
下次博主讲讲hash表
的设计吧。如下是golang中的map源码设计: ^_^
type hmap struct {
count int // # 元素个数
flags uint8
B uint8 // 说明包含2^B个bucket
noverflow uint16 // 溢出的bucket的个数
hash0 uint32 // hash种子
buckets unsafe.Pointer // buckets的数组指针
oldbuckets unsafe.Pointer // 结构扩容的时候用于复制的buckets数组
nevacuate uintptr // 搬迁进度(已经搬迁的buckets数量)
extra *mapextra
}
https://hui.1222.store/2018/11/06/%E7%A7%92%E6%9D%80%E6%9E%B6%E6%9E%84%E5%92%8C%E4%BC%98%E5%8C%96%E6%80%9D%E8%B7%AF/