📦 归档笔记 — 原创建于 WizNote,仅作归档展示;观点以当年为准,非最新。

nil 接口值

创建时间2019-08-12最后修改2019-08-12原位置/程序员成长之旅/Go语言学习/笔记/字数114
目录:程序员成长之旅/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)
}
//此程序报错