golang,combine 2方法有相同的内容

Pet*_*175 3 go

我有2个结构A和B的2个方法.2个方法的内容是相同的.

func (t *A) TestGo() error {
  ...
  return t.abc(); // call method of struct
}
Run Code Online (Sandbox Code Playgroud)

我可以写一个能输入2类型的函数吗?像这样

fun TestGo(t .?.) error {
  ...
  return t.abc();
}
Run Code Online (Sandbox Code Playgroud)

以后更容易维护.谢谢!

Chr*_*rew 5

您可以使用此方法为结构创建接口:

type ABCer interface {
    abc() error
}
Run Code Online (Sandbox Code Playgroud)

然后你的TestGo函数可以接受这个接口:

func TestGo(t ABCer) error {
    return t.abc()
}
Run Code Online (Sandbox Code Playgroud)

现场演示.