内嵌一个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的方法”
内嵌能够帮助我们在未命名的结构体类型中声明方法。