切片作为函数参数 - 数组和切片
前面我们说到,slice 其实是一个结构体,包含了三个成员:len, cap, array。分别表示切片长度,容量,底层数据的地址。
585 字
|
3 分钟
切片的容量是怎样增长的 - 数组和切片
一般都是在向 slice 追加了元素之后,才会引起扩容。追加元素调用的是 append 函数。
1663 字
|
8 分钟
数组和切片有什么异同 - 数组和切片
slice 的底层数据是数组,slice 是对数组的封装,它描述一个数组的片段。两者都可以通过下标来访问单个元素。
654 字
|
3 分钟
接口 - context
context 包的代码并不长,context.go 文件总共不到 500 行,其中还有很多大段的注释,代码可能也就 200 行左右的样子,是一个非常值得研究的代码库。
2875 字
|
14 分钟
context 是什么 - context
Go 1.7 标准库引入 context,中文译作“上下文”,准确说它是 goroutine 的上下文,包含 goroutine 的运行状态、环境、现场等信息。
200 字
|
1 分钟
传递共享的数据 - context
Go 常用来写后台服务,通常只需要几行代码,就可以搭建一个 http server。
1909 字
|
10 分钟
context.Value 的查找过程是怎样的 - context
由于它直接将 Context 作为匿名字段,因此仅管它只实现了 2 个方法,其他方法继承自父 context。但它仍然是一个 Context,这是 Go 语言的一个特点。
568 字
|
3 分钟
Go指针和unsafe.Pointer有什么区别 - unsafe
Go 语言的作者之一 Ken Thompson 也是 C 语言的作者。所以,Go 可以看作 C 系语言,它的很多特性都和 C 类似,指针就是其中之一。
646 字
|
3 分钟