下面这段代码输出什么?
type People struct{}
func (p *People) ShowA() {
fmt.Println("showA")
p.ShowB()
}
func (p *People) ShowB() {
fmt.Println("showB")
}
type Teacher struct {
People
}
func (t *Teacher) ShowB() {
fmt.Println("teacher showB")
}
func main() {
t := Teacher{}
t.ShowA()
}
m
!
啊这
最近出现好几次重复了!咋回事?
学到了
别问,问就是复习
这里我想问一下,在 Java 中, Teacher 的 showB() 方法覆盖了 People 的 showB(),这样,在使用模板方法模式的时候,当子类覆盖父类的某一方法时,会正确调用到 Teacher 的 showB()。在 go 中,这里还是调用的 People 的 showB() 方法。要如何写才能实现此种情况?
有没有一种可能,这是一道新题
说哪个公司雇的弹幕水君
mark
谷歌
不是Amazon?
showA (\n) showB (golang码农求职)
mark
打卡
showA showB
mark。。。。。。。。
Teacher 没有自己 ShowA(),所以调用内部类型 People 的同名方法
前几天有个调用showB的题目
之前的一题,调用showB的 https://studygolang.com/interview/question/fpliubgeg00
打卡
怎么看往期的题啊?
打卡
打卡学习
知识点:结构体嵌套。这道题可以结合第 12 天的第三题一起看,Teacher 没有自己 ShowA(),所以调用内部类型 People 的同名方法,需要注意的是第 5 行代码调用的是 People 自己的 ShowB 方法。
打卡
1
mk
mark
https://studygolang.com/interview/question/fpliubgeg00
mark
mark
mark
mark
mark
mark
showA showB
mark
mark