首页 > 后端开发 > Golang > 将 google Inject 与提供者函数的多重返回连线

将 google Inject 与提供者函数的多重返回连线

WBOY
发布: 2024-02-05 21:15:35
转载
1151 人浏览过

将 google Inject 与提供者函数的多重返回连线

问题内容

按照googlewire的例子,我们可以通过以下方式初始化event结构

消息.go:

type message string

func newmessage() message {
    //tbd    
}
登录后复制

event.go

func newevent(g message ) event {
    return event{message : g}
}

type event struct {
    message message
}

func (e event) start() {
   fmt.println(msg)
}
登录后复制

我们可以通过线初始化:

func main() {
    e := initializeevent()
    e.start()
}
    
func initializeevent() event {
    wire.build(newevent, newmessage)
    return event{}
}
登录后复制

有没有办法让 init 函数返回多个值,但我们只需要一个返回值来注入,例如:

func newmessage() (message,error ){
    //tbd
}
登录后复制

func NewMessage() (Message,Greeter) {
    //TBD
}
登录后复制


正确答案


要声明具有多个返回值的函数,需要将它们放在括号中:

func NewMessage() (Message, error) {
    return Message(“TBD”), nil
}
登录后复制

编辑:您提出的问题(是否可以从 init 函数返回错误)将在 wire 教程的下一部分中得到解答 - https://github.com/google/wire/tree/main/_tutorial#making-changes -带线

以上是将 google Inject 与提供者函数的多重返回连线的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:stackoverflow.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板