我有一个界面:
package pkg
type BaseInterface interface {
func Nifty() bool
func Other1()
func Other2()
...
func Other34123()
}
和一个实现它的结构:
package pkg
type Impl struct {}
func (Impl) Nifty() bool { ... }
然后是另一个结构,它想要嵌入第一个并执行它自己的 Nifty():
package myOtherPackage
import "pkg"
type ImplToo struct {
*pkg.Impl
}
func (it ImplToo) Nifty() bool { ... something else ... }
这有点像在 OOP 语言中具有方法覆盖的类继承。我想知道如何做 implToo.super().Nifty() 的等价物——也就是说,从 ImplToo Nifty() 实现中,调用 pkg.Impl Nifty() 实现。
什么是正确的转换,it以便我可以做到这一点?我尝试的一切都会在 ImplToo 的 Nifty() 上产生无限递归,或者一些编译器错误,例如:
invalid type assertion: (&it).(BaseInterface) (non-interface type *it on left)
......或者很多变化。
杨__羊羊
相关分类