如何使用返回类型实现接口方法是Golang中的接口

这是我的代码:


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()的返回类型,对吗?


慕哥9229398
浏览 191回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go