Go — 如何处理结构类型之间的公共字段

如果我有两种类型:


type A struct {

      X int

      Y int

}


type B struct {

      X int

      Y int

      Z int 

}

鉴于两者都访问同名字段并返回它们的总和,是否有任何方法可以在不需要两种方法的情况下实现以下目标?


func (a *A) Sum() int {

     return a.X + a.Y

}


func (b *B) Sum() int {

     return b.X + b.Y

}

当然,如果是 X 和 Y 方法,我可以定义一个包含这两个方法的接口。是否有领域的类似物?


慕桂英546537
浏览 187回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go