// A header for a Go map.typehmapstruct{countint// 元素个数,用于len函数返回map元素数量flagsuint8// 标志位,标志当前map正在写等状态Buint8// buckets个数的对数,即桶数量 = 2 ^ Bnoverflowuint16// overflow桶数量的近似值,overflow桶即溢出桶,即链表法中存在链表上的桶的个数hash0uint32// 随机数种子,用于计算key的哈希值bucketsunsafe.Pointer// 指向buckets数组,如果元素个数为0时,该值为niloldbucketsunsafe.Pointer// 扩容时指向旧的bucketsnevacuateuintptr// 用于指示迁移进度,小于此值的桶已经迁移完成extra*mapextra// 额外记录overflow桶信息}