判断下面代码的输出
参考解析
题目来源:字节跳动
答案:
给了一段go的代码 让你判断输出(涉及 结构体和接口之间的比较)
package main
import "fmt"
type A struct {
}
func (this *A) Do() {
}
type AI interface {
Do()
}
func main() {
var i AI
var a *A
if i == nil {
fmt.Println("i == nil #1")
}
i = nil
if i == nil {
fmt.Println("i == nil #2")
}
a = nil
i = a
if i == nil {
fmt.Println("i == nil #3")
}
}
输出结果
i == nil #1
i == nil #2