如何使用匿名字段(或超类)获得正确的结构类型?
我试图让这条鱼将自己描述为鳕鱼:
package main
import (
"fmt"
"reflect"
)
type Fish struct {
}
func (self *Fish) WhatAmI() string {
return reflect.TypeOf(self).String()
}
type Cod struct {
Fish
}
func main() {
c := new(Cod)
fmt.Println("I am a", c.WhatAmI())
}
我得到的输出是:
I am a *main.Fish
我想要的是:
I am a *main.Cod