Maison > développement back-end > Golang > le corps du texte

Plusieurs valeurs de retour peuvent-elles être transmises comme arguments à des fonctions avec différents nombres de paramètres dans Go ?

Susan Sarandon
Libérer: 2024-10-31 11:20:29
original
573 Les gens l'ont consulté

Can Multiple Return Values Be Passed as Arguments to Functions with Different Parameter Counts in Go?

Valeurs de retour multiples en tant qu'arguments de fonction dans Go

Dans Go, les fonctions peuvent renvoyer plusieurs valeurs, ce qui peut être bénéfique pour la structuration et la réutilisation du code . Cependant, lorsqu'il s'agit de transmettre ces valeurs de retour comme arguments à une autre fonction, certaines restrictions s'appliquent.

Limitations avec plusieurs valeurs de retour

Si vous avez une fonction returnIntAndString( ) qui renvoie deux valeurs (un entier et une chaîne), vous pouvez appeler une autre fonction doSomething(int, string) en utilisant les valeurs de retour sans aucun problème, comme :

<code class="go">doSomething(returnIntAndString())</code>
Copier après la connexion

Cependant, si vous ajoutez un argument à doSomething(), comme une chaîne de message, Go se plaindra si vous l'appelez comme ceci :

<code class="go">doSomething("message", returnIntAndString())</code>
Copier après la connexion

L'erreur de compilation :

  • main.go:45 : returnIntAndString() à valeurs multiples dans un contexte à valeur unique
  • main.go:45 : pas assez d'arguments dans l'appel à doSomething()

Solution de contournement

La spécification Go ne permet pas de transmettre plusieurs valeurs de retour comme arguments aux fonctions avec des paramètres supplémentaires. La fonction interne doit renvoyer le nombre exact de valeurs requises pour les paramètres de la fonction externe. Si cette condition n'est pas remplie, vous devez attribuer les valeurs de retour aux variables et appeler la fonction séparément, comme :

<code class="go">code, str := returnIntAndString()
doSomething("message", code, str)</code>
Copier après la connexion

En conclusion, même si plusieurs valeurs de retour dans Go peuvent améliorer la réutilisabilité du code, il existe des limites en les passant comme arguments à d’autres fonctions avec un nombre de paramètres différent. Lorsque cela se produit, une affectation manuelle et un appel de fonction distinct sont nécessaires.

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:php.cn
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!