Go Interface{}

Go Interface{}

与 C 语言中的void*不同的是 Go 中的interface{}是一个具体的类型,它有自己底层的数据结构表示。

1
2
3
4
5
6
7
8
9
10
11
12
type Dog struct {
name string
}

func main() {
var dog *Dog // 指针
var animal interface{} // interface{}
animal = dog

fmt.Println(dog == nil) // => true
fmt.Println(animal == nil) // => false animal保存了类型信息Dog,所以不为空
}
阅读更多

接触Go Modules

Go Modules 特性是在 go1.11 开始加入的, 写这篇文章时官方刚刚发布了 go1.11Beta3 版本,如果你的 go 版本低于 1.11 则需要更新你的 go tools。

阅读更多