"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment transmettre plusieurs valeurs de retour sous forme de paramètres à une fonction dans Go?

Comment transmettre plusieurs valeurs de retour sous forme de paramètres à une fonction dans Go?

Publié le 2025-04-13
Parcourir:716

How to Pass Multiple Return Values as Arguments to Functions in Go?

Renvoie les valeurs comme arguments aux fonctions multi-arguments

lors de la gestion de fonctions qui renvoient plusieurs valeurs, il est possible d'utiliser ces valeurs comme arguments d'entrée vers d'autres fonctions. Cependant, certaines limitations s'appliquent lorsque la fonction de réception a des paramètres supplémentaires.

Considérez le code suivant:

func returnIntAndString() (i int, s string) {...}

func doSomething(msg string, i int, s string) {...}

si nous essayons de transmettre les valeurs de retour de returnIntandString () à Dosometh erreurs:

doSomething("message", returnIntAndString())
C'est parce que Go permet de passer une seule valeur en tant qu'argument à une fonction, même si la valeur de retour de la fonction précédente donne plusieurs valeurs.

pour résoudre ce problème valeurs aux variables temporaires et les transmettre individuellement à DoSomething ().
multiple-value returnIntAndString() in single-value context
not enough arguments in call to doSomething()

i, s: = returnIntAndString () Dosomething ("message", i, s)

  1. renvoie des valeurs spécifiques:

    dans la fonction returnIntAndString (), renvoie une structure nommée avec des champs pour chaque valeur. Ensuite, passez le struct à DoSomething ().

    Type de résultat struct { I int S String } func returnIntAndString () résultat {...} res: = returnIntAndString () DoSomething ("Message", res.i, res.s)
    i, s := returnIntAndString()
    doSomething("message", i, s)
  2. Rappelez-vous, les règles spécifiques de Go ne permettent pas par des paramètres supplémentaires aux côtés d'une fonction de valeur de retour multi-valeurs lors de l'attribution d'arguments. Si les conditions spécifiques décrites dans la spécification linguistique ne sont pas remplies, vous devez utiliser l'une des solutions fournies.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3