package main
import (
"fmt"
}
func main() {
// 1.两个nil的比较:
//fmt.Println(nil == nil) // 编译报错:invalid operation: nil == nil (operator == not defined on nil) ==符号对于nil来说是一种未定义的操作
// 2.slice:
var slice []int64 = nil
fmt.Println(len(slice))
fmt.Println(cap(slice))
for range slice{
}
//fmt.Println(slice[0]) // 一个为nil的索引,不可以进行下标索引,否则会引发panic,其他操作是可以。
// 3.map:
var m map[string]string
fmt.Println("m[\"test\"]:", m["test"]) // 一个nil的map可以读数据,但是不可以写入数据,否则会发生panic
//m["test"] = "test" // panic
// 4.channel:
//var cha chan int
//close(cha) // 关闭nil的channel会引发panic
return
}