这两个概念经常会出现,下面就以实际运行结果,比较二者的不同吧:
//nil map
var m1 map[string]string
//可以取值,但是结果为空
fmt.Println("m1的元素为:", m1["1"])
fmt.Println("m1为:", m1)
fmt.Println("m1大小为:", len(m1))
//空map
m2 := make(map[int]interface{})
fmt.Println("m2为:", m2)
fmt.Println("m2大小为:", len(m2))
if m1 == nil {
fmt.Println("m1 is nil")
}
if m2 == nil {
fmt.Println("m2 is nil")
}
