接口
2020-03-30
context 包的代码并不长,context.go 文件总共不到 500 行,其中还有很多大段的注释,代码可能也就 200 行左右的样子,是一个非常值得研究的代码库。
2875 字
|
14 分钟
context 是什么
2020-03-30
Go 1.7 标准库引入 context,中文译作“上下文”,准确说它是 goroutine 的上下文,包含 goroutine 的运行状态、环境、现场等信息。
200 字
|
1 分钟
context.Value 的查找过程是怎样的
2020-03-30
由于它直接将 Context 作为匿名字段,因此仅管它只实现了 2 个方法,其他方法继承自父 context。但它仍然是一个 Context,这是 Go 语言的一个特点。
568 字
|
3 分钟
Go指针和unsafe.Pointer有什么区别
2020-03-30
Go 语言的作者之一 Ken Thompson 也是 C 语言的作者。所以,Go 可以看作 C 系语言,它的很多特性都和 C 类似,指针就是其中之一。
646 字
|
3 分钟
如何利用unsafe包修改私有成员
2020-03-30
对于一个结构体,通过 offset 函数可以获取结构体成员的偏移量,进而获取成员的地址,读写该地址的内存,就可以达到改变成员值的目的。
267 字
|
1 分钟
获取 slice 长度
2020-03-30
通过前面关于 slice 的[文章](https://mp.weixin.qq.com/s/MTZ0C9zYsNrb8wyIm2D8BA),我们知道了 slice header 的结构体定义:
169 字
|
1 分钟