Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Kawat google Inject dengan beberapa pulangan fungsi pembekal

Kawat google Inject dengan beberapa pulangan fungsi pembekal

WBOY
WBOYke hadapan
2024-02-05 21:15:351056semak imbas

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

Kandungan soalan

Mengikuti contoh googlewire, kita boleh memulakan struktur acara dengan cara berikut

message.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)
}

Kita boleh mulakan melalui talian:

func main() {
    e := initializeevent()
    e.start()
}
    
func initializeevent() event {
    wire.build(newevent, newmessage)
    return event{}
}

Adakah terdapat cara untuk menjadikan fungsi init mengembalikan berbilang nilai, tetapi kita hanya memerlukan satu nilai pulangan untuk menyuntik, sebagai contoh:

func newmessage() (message,error ){
    //tbd
}

atau

func NewMessage() (Message,Greeter) {
    //TBD
}

Jawapan betul


Untuk mengisytiharkan fungsi dengan berbilang nilai pulangan, anda perlu meletakkannya dalam kurungan:

func NewMessage() (Message, error) {
    return Message(“TBD”), nil
}

EDIT: Soalan anda (adakah mungkin untuk mengembalikan ralat daripada fungsi init) akan dijawab dalam bahagian seterusnya tutorial wayar - https://github.com/google/wire/tree/main/_tutorial #membuat- perubahan - dengan garisan

Atas ialah kandungan terperinci Kawat google Inject dengan beberapa pulangan fungsi pembekal. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam