LiZ'blog

不写笔记不读书.

go中sync.Once源码解读

go中的sync.Once是如何实现的?

sync.Once 前言 sync.Once的作用 实现原理 总结 sync.Once 前言 本次的代码是基于go version go1.13.15 darwin/amd64 sync.Once的作用 根据名字就大致能猜到这个函数的作用,就是使用sync.once的对象只能执行一次。 我...

go中errgroup源码解读

go中的errgroup是如何实现的?

errgroup 前言 如何使用 实现原理 WithContext Go Wait 错误的使用 总结 errgroup 前言 来看下errgroup的实现 如何使用 func main() { var eg errgroup.Group ...

go中waitGroup源码解读

go中的waitGroup是如何实现的?

waitGroup源码刨铣 前言 WaitGroup实现 noCopy state1 Add Wait 总结 参考 waitGroup源码刨铣 前言 学习下waitGroup的实现 ...

go中atomic

go中的atomic源码分析

atomic 原子操作 Go中原子操作的支持 CompareAndSwap(CAS) Swap(交换) Add(增加或减少) Load(原子读取) Store(原子写入) 原子操作与互斥...

go中unsafe

go中的unsafe包分析

unsafe 前言 什么是unsafe,为什么需要unsafe unsafe实现原理 unsafe.Pointer && uintptr类型 unsafe.Pointer uintptr 总结 ...

go中内存对齐分析

什么是内存对齐,go中内存对齐分析

内存对齐 什么是内存对齐 为什么需要内存对齐 减少次数 保障原子性 对齐系数 对齐规则 总结 参考 内存对齐 什么是内存对齐 弄明白什么是内存对齐的时候,先来看一个demo typ...

go中context源码刨铣

go中context源码刨铣

context 前言 什么是context 为什么需要context呢 context底层设计 context的实现 几种context empt...

字符编码笔记

字符编码笔记

字符编码笔记 前言 字符类型 什么是字符集 字库表 编码字符集(字符集) 字符编码(编码方式) ASCII 码 Unicode Unicode和ASCII的区别 UTF-...

go中string是如何实现的呢

go中string是如何实现的呢

go中string是如何实现的呢 前言 实现 go语言中的string是不可变的 []byte转string string转[]byte 字符串的拼接 +方式进行拼接 fmt 拼接 Join 拼接 bu...

go中的内存泄露排查

go中的内存泄露排查

内存泄露 前言 场景 暂时性内存泄露 永久性内存泄露 goroutine内存泄露 发送端channel满了 接收端消费的channel为空 生产者消费者异常退出,导致c...