English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
En langage Go, il est permis d'utiliser la directive return pour sortir d'uneFonctionRetourne plusieurs valeurs. Autrement dit, dans une fonction, une seule instruction return peut retourner plusieurs valeurs. Le type des valeurs de retour est similaire au type des paramètres définis dans la liste des paramètres.
Grammaire :
func function_name(parameter_list)(return_type_list){ // code... }
ici,
function_name :C'estFonctiondu nom.
parameter-list :Il contient le nom et le type des paramètres de la fonction.
return_type_list :C'est optionnel, il contient le type des valeurs retournées par la fonction. Si vous utilisez return_type dans la fonction, vous devez utiliser l'instruction return.
package main import "fmt" // myfunc retourne3deux valeurs de type int func myfunc(p, q int) (int, int, int) { return p - q, p * q, p + q } func main() { //qui assigne la valeur de retour à trois variables différentes var myvar1, myvar2, myvar3 = myfunc(4, 2) // Affiche la valeur fmt.Printf("Résultat : %d", myvar)1) fmt.Printf("\nRésultat : %d", myvar)2) fmt.Printf("\nRésultat : %d", myvar)3) }
Sortie :
Résultat : 2 Résultat : 8 Résultat : 6
En langage Go, il est permis de fournir des noms aux valeurs de retour. Vous pouvez également utiliser ces noms de variables dans le code. Il n'est pas nécessaire d'écrire ces noms avec une instruction return, car le compilateur Go comprend automatiquement que ces variables doivent être attribuées en retour. Ce type de retour est appelé retour nu. Le retour simple réduit la répétition dans le programme.
Grammaire :
func function_name(para1, para2 int)(name1 int, name2 int){ // code... } ou func function_name(para1, para2 int)(name1, name2 int){ // code... }
ici,name1etname2sont les noms des valeurs de retour, tandis que para1et para2sont les paramètres de la fonction.
package main import "fmt" // myfunc retourne2deux valeurs de type int //Voici le nom des valeurs de retour //est rectangle et carré func myfunc(p, q int) (rectangle int, square int) { rectangle = p * q square = p * p return } func main() { //qui assigne la valeur de retour à //deux variables différentes var area1, area2 = myfunc(2, 4) fmt.Printf("Surface du rectangle : %d", area)1) fmt.Printf("\nSurface du carré : %d", area)2) }
Sortie :
Surface de l'aire du rectangle : 8 Surface de l'aire carrée : 4