Contenu du cours
Introduction à Golang
Introduction à Golang
Valeurs de Retour des Fonctions
Pouvoir passer des données dans des fonctions est précieux, mais il est tout aussi avantageux de récupérer des données des fonctions. C'est là que le mot-clé return
devient essentiel.
Le mot-clé return
permet aux fonctions de renvoyer des données au point du code où elles ont été invoquées. Voici la syntaxe d'une fonction avec une instruction return
:
Le data_to_be_returned
est l'endroit où nous spécifions une expression ou une valeur. Le returned_datatype
représente le type de données attendu pour la valeur qui sera renvoyée. Cela deviendra plus clair à travers un exemple.
Le programme suivant illustre l'implémentation d'une instruction return
via une fonction qui calcule et renvoie à la fois la somme et le produit de deux arguments entiers donnés :
index
package main import "fmt" func myFunc(value_1 int, value_2 int) int { var sum int = value_1 + value_2 var prod int = value_1 * value_2 var result int = sum + prod return result } func main() { fmt.Println(myFunc(5, 7)) }
Veuillez noter que dans la fonction Println
, nous avons myFunc(5, 7)
, et le programme ci-dessus produit la sortie 47
, qui résulte des calculs effectués par la fonction myFunc()
. Cela démontre que l'instruction return
transmet des données spécifiques à l'endroit où la fonction a été invoquée. De plus, nous pouvons stocker les données renvoyées dans une variable :
index
var returnedValue int = myFunc(5, 7) fmt.Println(returnedValue) // Outputs '47'
Remarque
Une fonction n'a pas besoin de paramètres pour inclure une instruction
return
.
Une fonction ne peut contenir aucun code après une instruction return, et généralement, Go ne permet pas plusieurs instructions return :
index
// Function exits after the first return statement it encounters func exampleOne() int { return 1 return 2 // Will be ignored } // There cannot be any code after a return statement func exampleTwo() int { return 1 fmt.Println() // Error here }
Néanmoins, il est possible d'utiliser l'instruction return
dans des structures conditionnelles pour retourner sélectivement des valeurs :
index
package main import "fmt" func myFunc() string { if(1 > 2) { return "1 is greater than 2" } else { return "2 is greater than 1" } } func main() { fmt.Println(myFunc()) }
Merci pour vos commentaires !