代码之旅
23
23
22
22
Go语言核心36讲-错误处理(下) Go语言核心36讲-错误处理(下)
知识扩展问题:怎样根据实际情况给予恰当的错误值?我们已经知道,构建错误值体系的基本方式有两种,即:创建立体的错误类型体系和创建扁平的错误值列表。 先说错误类型体系。由于在 Go 语言中实现接口是非侵入式的,所以我们可以做得很灵活。比如,在标
2021-11-22
11
10
10
05
05
Go语言核心36讲-接口类型的合理运用 Go语言核心36讲-接口类型的合理运用
前导内容:正确使用接口的基础知识在 Go 语言的语境中,当我们在谈论“接口”的时候,一定指的是接口类型。因为接口类型与其他数据类型不同,它是没法被实例化的。 更具体地说,我们既不能通过调用new函数或make函数创建出一个接口类型的值,也无
2021-11-05
05
Go语言核心36讲-结构体及其方法的使用法门 Go语言核心36讲-结构体及其方法的使用法门
结构体类型表示的是实实在在的数据结构。一个结构体类型可以包含若干个字段,每个字段通常都需要有确切的名字和类型。 前导内容:结构体类型基础知识当然了,结构体类型也可以不包含任何字段,这样并不是没有意义的,因为我们还可以为类型关联上一些方法,这
2021-11-05
04
Go语言核心36讲-使用函数的正确姿势 Go语言核心36讲-使用函数的正确姿势
前导内容:函数是一等的公民在 Go 语言中,函数可是一等的(first-class)公民,函数类型也是一等的数据类型。这是什么意思呢? 简单来说,这意味着函数不但可以用于封装代码、分割功能、解耦逻辑,还可以化身为普通的值,在其他函数间传递、
2021-11-04
03
Go语言核心36讲-通道的高级玩法 Go语言核心36讲-通道的高级玩法
首先来说说单向通道。我们在说“通道”的时候指的都是双向通道,即:既可以发也可以收的通道。 所谓单向通道就是,只能发不能收,或者只能收不能发的通道。一个通道是双向的,还是单向的是由它的类型字面量体现的。 还记得接收操作符<-吗?如果我们
2021-11-03
2 / 3