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。
|