首頁 > 後端開發 > Golang > 主體

將 google Inject 與提供者函數的多重傳回連線

WBOY
發布: 2024-02-05 21:15:35
轉載
1100 人瀏覽過

将 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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板