Heim >Backend-Entwicklung >Golang >Verdrahten Sie Google Inject mit mehreren Rückgaben der Anbieterfunktion

Verdrahten Sie Google Inject mit mehreren Rückgaben der Anbieterfunktion

WBOY
WBOYnach vorne
2024-02-05 21:15:351130Durchsuche

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

Frageninhalt

Nach dem Beispiel von Googlewire können wir die Ereignisstruktur wie folgt initialisieren

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

Wir können über die Zeile:

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

Gibt es eine Möglichkeit, die Init-Funktion dazu zu bringen, mehrere Werte zurückzugeben, wir benötigen jedoch nur einen Rückgabewert zum Einfügen, zum Beispiel:

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

oder

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

Richtige Antwort


Um eine Funktion mit mehreren Rückgabewerten zu deklarieren, müssen Sie diese in Klammern setzen:

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

BEARBEITEN: Ihre Frage (ist es möglich, einen Fehler von einer Init-Funktion zurückzugeben) wird im nächsten Teil des Wire-Tutorials beantwortet – https://github.com/google/wire/tree/main/_tutorial #Machen-Veränderungen – mit Linien

Das obige ist der detaillierte Inhalt vonVerdrahten Sie Google Inject mit mehreren Rückgaben der Anbieterfunktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen