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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Libérer: 2024-02-05 21:15:35
avant
1190 Les gens l'ont consulté

将 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    
}
Copier après la connexion

event.go

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

type event struct {
    message message
}

func (e event) start() {
   fmt.println(msg)
}
Copier après la connexion

Nous pouvons initialiser via la ligne :

func main() {
    e := initializeevent()
    e.start()
}
    
func initializeevent() event {
    wire.build(newevent, newmessage)
    return event{}
}
Copier après la connexion

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
}
Copier après la connexion

ou

func NewMessage() (Message,Greeter) {
    //TBD
}
Copier après la connexion


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
}
Copier après la connexion

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 de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal