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

时间:2016-06-17 08:51:27

标签: go

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

func (t *A) TestGo() error {
  ...
  return t.abc(); // call method of struct
}

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

fun TestGo(t .?.) error {
  ...
  return t.abc();
}

以后更容易维护。谢谢!

1 个答案:

答案 0 :(得分:5)

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

type ABCer interface {
    abc() error
}

然后您的TestGo函数可以接受此界面:

func TestGo(t ABCer) error {
    return t.abc()
}

Live demo

相关问题