Maison >développement back-end >Golang >Câblez Google Inject avec plusieurs retours de la fonction fournisseur

Câblez Google Inject avec plusieurs retours de la fonction fournisseur

WBOY
WBOYavant
2024-02-05 21:15:351128parcourir

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

Contenu de la question

En suivant l'exemple de googlewire, nous pouvons initialiser la structure de l'événement de la manière suivante

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

Nous pouvons initialiser via la ligne :

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

Existe-t-il un moyen pour que la fonction init renvoie plusieurs valeurs, mais nous n'avons besoin que d'une seule valeur de retour à injecter, par exemple :

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

ou

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

Bonne réponse


Pour déclarer une fonction avec plusieurs valeurs de retour, vous devez les mettre entre parenthèses :

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

EDIT : Votre question (est-il possible de renvoyer une erreur à partir d'une fonction init) recevra une réponse dans la prochaine partie du tutoriel sur Wire - https://github.com/google/wire/tree/main/_tutorial #faire des changements - avec des lignes

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer