嵌入反思。

使用匿名方法嵌入时,是否可以从“父”结构上的方法访问“子”结构的名称。


例如:


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中有可能吗?


烙印99
浏览 207回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go