typora/note/Go/zaxiang.md
2024-12-12 10:48:55 +08:00

985 B
Raw Permalink Blame History

微信文章待整理

各种nil判断

  • 切片定义但不初始化则为nil
func main() {
	var s []int
	fmt.Println(s == nil)
}
  • map定义但是不进行初始化则为nil
func main() {
	var m map[string]int
	fmt.Println(m == nil)
}
  • 接口变量定义但是不赋初值
type MyInterface interface {
	M1(string)
}

func main() {
	var m MyInterface
	fmt.Println(m == nil)
}
  • channel定义但是不初始化
func main() {
	var ch chan int
	fmt.Println(ch == nil)
}
  • 指针类型变量没有被显式赋予初值
type Book struct{}

func main() {
	var b *Book
	fmt.Println(b == nil)
}