Kawat google Inject dengan beberapa pulangan fungsi pembekal

WBOY
Lepaskan: 2024-02-05 21:15:35
ke hadapan
1101 orang telah melayarinya

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

Kandungan soalan

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

message.go:

type message string

func newmessage() message {
    //tbd    
}
Salin selepas log masuk

event.go

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

type event struct {
    message message
}

func (e event) start() {
   fmt.println(msg)
}
Salin selepas log masuk

Kita boleh mulakan melalui talian:

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

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
}
Salin selepas log masuk

atau

func NewMessage() (Message,Greeter) {
    //TBD
}
Salin selepas log masuk


Jawapan betul


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

func NewMessage() (Message, error) {
    return Message(“TBD”), nil
}
Salin selepas log masuk

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!

sumber:stackoverflow.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan