看看这个片段:
package main
type Interface interface {
Interface()
}
type Struct struct {
Interface
}
func main() {
var i interface{} = Struct{}
_ = i.(Interface)
}
structStruct有一个嵌入的成员实现接口Interface。当我编译这个片段时,我得到一个错误:
panic: interface conversion: main.Struct is not main.Interface: missing method Interface
这看起来很奇怪,因为 struct应该从嵌入的接口Struct继承方法。InterfaceInterface
我想知道为什么会发生这个错误?它是在 golang 中设计的还是只是 golang 编译器的错误?
千巷猫影
相关分类