nil 接口值
目录:程序员成长之旅/Go语言学习/笔记
nil 接口值
nil 接口值既不保存值也不保存具体类型。
为 nil 接口调用方法会产生运行时错误,因为接口的元组内并未包含能够指明该调用哪个 具体 方法的类型。
package main
import "fmt"
type I interface {
M()
}
func main() {
var i I
describe(i)//注意这里,传进了一个值为nil的接口
i.M()
}
func describe(i I) {
fmt.Printf("(%v, %T)\n", i, i)
}
//此程序报错