这是我的代码:
type IA interface {
FB() IB
}
type IB interface {
Bar() string
}
type A struct {
b *B
}
func (a *A) FB() *B {
return a.b
}
type B struct{}
func (b *B) Bar() string {
return "Bar!"
}
我收到一个错误:
cannot use a (type *A) as type IA in function argument:
*A does not implement IA (wrong type for FB method)
have FB() *B
want FB() IB
这是完整的代码:http : //play.golang.org/p/udhsZgW3W2
我应该编辑IA界面还是修改我的A结构?
如果我在其他程序包中定义IA,IB(以便可以共享这些接口)怎么办,我必须导入我的程序包并将IB用作A.FB()的返回类型,对吗?
相关分类