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

Verdrahten Sie Google Inject mit mehreren Rückgaben der Anbieterfunktion

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2024-02-05 21:15:35
nach vorne
1162 Leute haben es durchsucht

将 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    
}
Nach dem Login kopieren

event.go

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

type event struct {
    message message
}

func (e event) start() {
   fmt.println(msg)
}
Nach dem Login kopieren

Wir können über die Zeile:

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

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
}
Nach dem Login kopieren

oder

func NewMessage() (Message,Greeter) {
    //TBD
}
Nach dem Login kopieren


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
}
Nach dem Login kopieren

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!

Quelle:stackoverflow.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage