通过结构体内嵌组成类型

内嵌一个T类型,那么T的方法都被纳入。
内嵌允许构成复杂的类型,该类型由许多字段构成,每个字段提供一些方法。

type WOW struct {
    int
    string
}
func (w WOW) String() string {
    return "我是一代WOW的方法"
}
type WOW2 struct {
    name string
    WOW
}
w2 := WOW2{}
fmt.Println(w2)  //“我是一代WOW的方法”

var s fmt.Stringer
s = w2  //w2也相当于实现了fmt.Stringer接口
fmt.Println(s)  //“我是一代WOW的方法”

内嵌能够帮助我们在未命名的结构体类型中声明方法。

猜你喜欢

转载自blog.csdn.net/weixin_42506905/article/details/81363853