加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

即使Golang结构具有相同的功能,它也不会实现接口

发布时间:2020-12-16 09:22:42 所属栏目:大数据 来源:网络整理
导读:我不知道编译错误的原因是什么.我将不胜感激任何帮助. ./router.go:190: cannot use listener (type webhooklistener.MyListener) as type webhook.Listener in field value: webhooklistener.MyListener does not implement webhook.Listener (missing webh
我不知道编译错误的原因是什么.我将不胜感激任何帮助.

./router.go:190: cannot use listener (type webhooklistener.MyListener) as type webhook.Listener in field value:
    webhooklistener.MyListener does not implement webhook.Listener (missing webhook.handle method)
        have webhooklistener.handle()
        want webhook.handle()

客户:

package webhook

type Listener interface {
    handle()
}

type Client struct {
    Listener Listener
}

监听器:

package webhooklistener

type MyListener struct {
}

func (ll MyListener) handle() {

}

路由器:

listener := webhooklistener.MyListener{}
client := webhook.Client{listener} // COMPILATION ERROR

解决方法

webhook.Listener唯一的方法是未导出的,因此只有该包中的标识符才能实现它.如果您希望其他包中的类型能够实现它,则需要将其导出:

type Listener interface {
    Handle()
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读