Valeurs de Retour des Fonctions
Pouvoir transmettre des données à des fonctions est utile, mais il est tout aussi avantageux de récupérer des données depuis les fonctions. C'est ici que le mot-clé return devient essentiel.
Le mot-clé return permet aux fonctions de renvoyer des données à l'endroit du code où elles ont été appelées. Voici la syntaxe d'une fonction avec une instruction return :
func functionName(param_1 datatype, param_2 datatype, ...) return_datatype {
// Code
return data_to_be_returned
}
Le data_to_be_returned correspond à l'expression ou à la valeur à spécifier. 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'utilisation 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.go
1234567891011121314package 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é appelée. De plus, il est possible de stocker les données retournées dans une variable :
index.go
12var 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 n'autorise pas plusieurs instructions return :
index.go
1234567891011// 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 à l'intérieur de structures conditionnelles pour retourner sélectivement des valeurs :
index.go
123456789101112131415package 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 !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Can you show an example of a function using the return statement in Go?
What happens if I try to put code after a return statement in a Go function?
Can a Go function return multiple values?
Awesome!
Completion rate improved to 1.96
Valeurs de Retour des Fonctions
Glissez pour afficher le menu
Pouvoir transmettre des données à des fonctions est utile, mais il est tout aussi avantageux de récupérer des données depuis les fonctions. C'est ici que le mot-clé return devient essentiel.
Le mot-clé return permet aux fonctions de renvoyer des données à l'endroit du code où elles ont été appelées. Voici la syntaxe d'une fonction avec une instruction return :
func functionName(param_1 datatype, param_2 datatype, ...) return_datatype {
// Code
return data_to_be_returned
}
Le data_to_be_returned correspond à l'expression ou à la valeur à spécifier. 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'utilisation 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.go
1234567891011121314package 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é appelée. De plus, il est possible de stocker les données retournées dans une variable :
index.go
12var 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 n'autorise pas plusieurs instructions return :
index.go
1234567891011// 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 à l'intérieur de structures conditionnelles pour retourner sélectivement des valeurs :
index.go
123456789101112131415package 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 !