源码分析
伢之国
云存储深耕之路,专注于对象存储,块存储,云计算等技术。坚持撰写有思考的技术文章。微信公众号:奇伢云存储。个人站点:https://liqingqiya.github.io。
展开
-
Go 最细节篇 — 空结构体是什么?
公众号:奇伢云存储 文章目录背景原理解密特殊变量:zerobase内存管理特殊处理定义的各种姿势原生定义重定义类型匿名嵌套类型内置字段`struct {}` 作为 receiver配合使用姿势`map` & `struct{}``chan` & `struct{}``slice` & `struct{}`总结 背景 golang 正常的 struct 就是普通的一个内存块,必定是占用一小块内存的,并且结构体的大小是要经过边界,长度的对齐的,但是“空结构体”是不占内存的,size .原创 2020-12-21 23:47:56 · 1011 阅读 · 0 评论 -
golang channel 最详细的源码剖析
大纲 文章目录channel 是什么?channel 使用姿势chan 创建chan 入队chan 出队结合 select 语句结合 for-range 语句源码解析`makechan`hchan 结构chansendchanrecvselectnbsendselectnbrecvselectnbrecv2chanrecv2总结 chan 是 golang 的最重要的一个结构,是区别于其他高级语言的最重要的特色之一,也是 goroutine 通信必须要的要素之一。很多人用它,但是很少人彻底理解过它,甚至 c原创 2020-11-09 23:32:44 · 919 阅读 · 0 评论