type
status
date
slug
summary
tags
category
icon
password
Property
Sep 5, 2023 01:00 PM
实际上GomapJava7之前的HashMap, 非常相似。都是Array + LinkedTable的结构。
 

结构

map数据结构由runtime/map.go/hmap定义:
bucket数据结构由runtime/map.go/bmap定义:
这里使用的数组对齐方式来存放数据。overflow指向下一个bucket.

工作流程

首先通过key计算Hash值,通过Hash的低位,计算出该元素需要存放在buckets中的哪一个bucket. 如果Hash冲突,也就是当前bucket已经有人进去了。那么就使用该bucketoverflow指向自己的bucket.
查找元素也是大同小异。
Composition Api关于Rust中的关键词: impl 和 dyn
Loading...