Contenu du cours
Introduction à Golang
Introduction à Golang
Passer des Données dans les Fonctions
Les fonctions ne sont pas très utiles si nous ne pouvons pas accéder aux données de l'extérieur en raison des différences de portée. Cependant, nous pouvons passer des données dans les fonctions en utilisant des 'paramètres'.
Les paramètres définissent un format pour les données qu'une fonction s'attend à recevoir lorsqu'elle est appelée ou exécutée.
Dans les chapitres précédents, nous avons examiné des fonctions simples sans paramètres. Cependant, nous pouvons déclarer une fonction avec des paramètres en utilisant la syntaxe suivante :
index
func myFunc(param1 datatype, param2 datatype, ...) { // Code }
Chaque paramètre peut avoir un nom distinct suivi de son type de données. Les paramètres sont séparés par des virgules. Les paramètres respectent les mêmes conventions de nommage que les variables.
Voici un exemple qui illustre l'utilisation de fonctions avec des paramètres:
index
package main import "fmt" func outThreeTimes(message string) { fmt.Println(message) fmt.Println(message) fmt.Println(message) } func sum(value1 int, value2 int) { fmt.Println("Sum:", value1 + value2) } func product(val1 int, val2 int, val3 int) { fmt.Println("Product:", val1 * val2 * val3) } func main() { outThreeTimes("Hello World") sum(17, 25) product(4, 7, 9) }
Dans le programme ci-dessus, vous remarquerez des fonctions avec un, deux et trois paramètres. Il est tout à fait possible de créer des fonctions avec autant de paramètres que nécessaire.
Les valeurs peuvent être fournies à ces fonctions soit directement, soit par le biais de variables. Par exemple, dans l'instruction suivante, nous fournissons directement la valeur de chaîne là où un paramètre est attendu :
index
outThreeTimes("Hello World")
Alternativement, nous pouvons le stocker dans une variable de type chaîne de caractères, puis passer cette variable dans la fonction :
index
var msg string = "Hello World" outThreeTimes(msg)
Dans l'instruction ci-dessous, vous observez un mélange des deux approches :
index
var a int = 4 var b int = 7 product(a, b, 9)
Vous pouvez choisir la méthode qui convient le mieux à vos besoins.
Remarque
Lors du passage de variables ou de valeurs de données dans une fonction, elles sont appelées arguments. Dans le cas de
product(a, b, 9)
, les termesa
,b
et9
sont des arguments. En revanche, dans la déclaration de fonction,val1 int
,val2 int
etval3 int
sont connus sous le nom de paramètres.
Il est important de passer des données dans les fonctions dans l'ordre défini par les paramètres. Par exemple, dans une fonction func myFunc(an int, b string)
, le premier argument doit être un entier, et le second doit être une chaîne de caractères ; tout autre ordre entraînera des erreurs.
À l'intérieur de la fonction, les paramètres agissent effectivement comme des variables qui prennent les valeurs des arguments passés. Par conséquent, déclarer des variables avec le même nom que n'importe quel paramètre de fonction dans le corps de la fonction entraînera des erreurs.
index
func myFunc(param int) { var param int = 1 // Error Here }
Merci pour vos commentaires !