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
1162 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!

source:stackoverflow.com
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