type Parent struct{}
func (p *Parent) A() {
p.B()
}
func (p *Parent) B() {
fmt.Println("parent.B()")
}
type Child struct {
Parent
}
func (c *Child) B() {
fmt.Println("child.B()")
}
定义了两个结构体,Parent 和 Child
Parent 有 A()和 B()两个方法,在 A 中调用了 B
Child 只实现了 B(),然后按如下方式调用:
func main() {
p := &Parent{}
c := &Child{}
p.A()
c.A()
c.Parent.A()
}
发现 c.A()和 c.Parent.A()都只调用到了 Parent 的 B()方法
有办法可以在 A()方法中调用到 Child 的 B()方法吗
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.