mapassign
函数。mapassign
。inserti
)指向 key 的 hash 值在 tophash 数组所处的位置,另一个(insertk
)指向 cell 的位置(也就是 key 最终放置的地址),当然,对应 value 的位置就很容易定位出来了。这三者实际上都是关联的,在 tophash 数组中的索引位置决定了 key 在整个 bucket 中的位置(共 8 个 key),而 value 的位置需要“跨过” 8 个 key 的长度。hashWriting
写标志出会清零。mapassign
函数的原型就知道,函数并没有传入 value 值,所以赋值操作是什么时候执行的呢?mapassign
函数返回的指针就是指向的 key 所对应的 value 值位置,有了地址,就很好操作赋值了。