package main import "fmt" func main() { var a map[string]string fmt.Println(a == nil) f(a) } func f(in interface{}) { fmt.Println(in == nil) }
true false
![]() | 1 BCy66drFCvk1Ou87 2019-07-16 11:27:23 +08:00 go 中的 interface 包含 2 个指针,分别指向值的类型和实际的值。把一个 map[string]string 赋给 interface,interface 存了指向 string 类型的指针,因此不再是 nil。 |