基本

golang 中的关键词 nil 表示空,与其他语言中的 null 可能使用有较大区别。nil 甚至可以说不是 golang 中的关键词,而只是一个变量名,如下 builting.go 的代码

var nil Type

golang 中针对不同的类型,nil 有不同的判空方式

指针

结论:当一个指针(所有值类型的指针,包括了 struct),没有指向任何值,那么它就可以等于 nil

下方代码给指针类型赋 nil

var a *int = nil