我有2个结构A和B的方法。 2方法的内容是相同的。
func (t *A) TestGo() error {
...
return t.abc(); // call method of struct
}
我可以写一个能输入2类型的函数吗?喜欢这个
fun TestGo(t .?.) error {
...
return t.abc();
}
以后更容易维护。谢谢!
答案 0 :(得分:5)
您可以使用此方法为结构创建接口:
type ABCer interface {
abc() error
}
然后您的TestGo
函数可以接受此界面:
func TestGo(t ABCer) error {
return t.abc()
}