Go中的继承与组合

Go中的继承与组合

组合

如果一个结构体嵌套了另一个有名的结构体,那么这叫做组合。

继承

如果一个结构体中嵌套了另一个匿名结构体,那么这个结构体可以直接访问匿名结构体的方法,从而实现继承。

实例

// 父结构体
type BaseController struct {
}
// 父结构体的方法
func (c *BaseController) ReturnJson() {
}
// 继承
type UserController struct {
	BaseController
}
// 组合
type OtherController struct {
	userController UserController
}

// 调用
user := UserController{}
other := OtherController{}
user.ReturnJson()  //继承直接调用父结构体方法
other.userController.ReturnJson() //组合调用结构体方法

版权声明:本文为z226688原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。