如何将父类型转换为子类型

时间:2017-10-28 11:33:28

标签: go

考虑以下类型:

type (
    Parent struct {
        name string
        surname string
    }

    Child struct {
        *Parent
        sport String
    }
)

...

func (p *Parent) GetSport() string {
   return ((*Child)(p)).sport // does not work
}

如何将*Parent转换为*Child

1 个答案:

答案 0 :(得分:2)

func (p *Parent) Convert() *Child {
   return &Child{p, ""}
}

https://play.golang.org/p/saGvRu_rIk

问题是没有关于sport的数据。所以我们必须把空行。