![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
golang
jiyuliu
这个作者很懒,什么都没留下…
展开
-
golang源码阅读之map
golang源码阅读之map文章目录golang源码阅读之map基础结构GETPUT扩容基础结构基础结构:golang中的map是什么样子的,是由什么数据结构组成的?初始化:初始化之后map是怎么样的?get:如何获取一个元素?put:如何存放一个元素?扩容:当存放空间不够的时候扩容是怎么扩的?基础结构最外面是hmap结构体,用buckets存放一些名字叫bmap的桶(数量不定...转载 2020-01-02 19:11:00 · 417 阅读 · 0 评论 -
interface源码阅读
interfaceinterface的实现所有interface,包括有方法和空接口,在内存中都是占据两个字长。那么在32位机器上就是8个字节,在64位机器上就是16个字节。空interface的底层实现在Go语言的源码位置: src\runtime\runtime2.go中type eface struct { _type *_type //类型指针 da...原创 2020-01-02 19:16:29 · 207 阅读 · 0 评论 -
golang unsafe 和 uintptr 指针
golang unsafe 和 uintptr 指针文章目录golang unsafe 和 uintptr 指针1.golang中的指针类型2.具体操作3.总结1.golang中的指针类型三个类型其实指针有三种:一种是我们常见的*,用*去表示的指针;一种是unsafe.Pointer,Pointer是unsafe包下的一个类型;最后一种是uintptr,uintptr 这玩意是可以进...原创 2020-01-02 18:56:53 · 1506 阅读 · 0 评论