使用匿名方法嵌入时,是否可以从“父”结构上的方法访问“子”结构的名称。
例如:
type Animal struct{}
func (a Animal) SayName() string {
v := reflect.TypeOf(a)
return v.Name()
}
type Zebra struct {
Animal
}
var zebra Zebra
zebraName := zebra.SayName() // "Animal" want "Zebra"
SayName()方法返回type.Name()“父项”的。
我意识到我可以做这样的事情,但是由于这是针对API的,因此会经常重复使用。我希望有一个不太重复的解决方案。
type Animal struct{
Name string
}
func (a Animal) SayName() string {
return a.Name
}
type Zebra struct {
Animal
}
zebra := &Zebra{Name:"Zebra"}
zebraName := zebra.SayName() // "Zebra"
关于如何实现这一目标的任何想法?Go中有可能吗?
相关分类