首页 > 文章列表 > Go语言中如何实现方法继承并访问嵌入结构体的字段?

Go语言中如何实现方法继承并访问嵌入结构体的字段?

276 2025-01-07

Go语言中如何实现方法继承并访问嵌入结构体的字段?

go语言中方法继承与接收者

在go语言中,结构体模拟了面向对象的继承概念。代码中,person结构体嵌入在student结构体中,但是打印name时得到的却是person的name。

要解决这个问题,需要理解go语言中方法与接收者之间的关系。go语言中,方法是一种特殊的带有接收者的函数。接收者指定了该方法所操作的数据。

为了能够在name方法中获取到student的name,需要修改方法定义:

func (s Student) Name() {
    fmt.Println(s.name)
}

通过显式指定student作为方法的接收者,我们可以访问student结构体的name字段。

来源:1730202295