Go 继承-struct嵌套

在golang中,采用匿名结构体字段来模拟继承关系。这个时候,可以说 Student 是继承自 Person .

type Person struct {
    name string
    age int
    sex string
}

func (Person) SayHello(){
 fmt.Println("this is from Person")
}

type Student struct {
    Person
    school string
}

func main() {
    stu := Student{school:"middle"}
    stu.name = "leo"
    stu.age = 30
    fmt.Println(stu.name) //这里其实就是这样做了一层转换stu.Person.name
    stu.SayHello() //也做了转换
}

可以看到继承之后的结构体拥有继承结构体的属性和方法。

其实本质上是嵌套关系,它帮你简化了。

猜你喜欢

转载自blog.csdn.net/qq_34556414/article/details/129528897