English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriel de base en Golang

Instructions de contrôle en Golang

Fonction & méthode en Golang

Structure en Golang

Coupe & tableau en Golang

Chaîne (String) en Golang

Pointeur en Golang

Interface en Golang

Concurrence en Golang

Exception (Error) de Golang

Autres éléments de Golang

Fonction Go retourne plusieurs valeurs

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

Nommer les valeurs de retour

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