Déclaration et utilisation de fonctions#
Syntaxe de déclaration de fonctions#
- En Go, une fonction est déclarée avec le mot-clé "func", suivi du nom de la fonction, de la liste des paramètres, du type de retour et du corps de la fonction entre accolades.
- Exemple de code :
func nomDeLaFonction(param1 type1, param2 type2) typeRetour { // Corps de la fonction }
- Les fonctions en Go peuvent être assignées à des variables ou passées en tant que paramètres à d'autres fonctions.
- Documentation officielle : Go Lang - Functions
Paramètres et arguments#
- Les paramètres d'une fonction en Go sont définis entre parenthèses après le nom de la fonction.
- Un paramètre est défini par un nom et un type. Les paramètres de même type peuvent être regroupés.
- Les arguments sont les valeurs passées aux paramètres lors de l'appel d'une fonction.
- Exemple de code :
func add(x int, y int) int { return x + y } // Appel de la fonction result := add(3, 5)
- Documentation officielle : Go Lang - Function declarations
Valeurs de retour et déclaration de plusieurs valeurs de retour#
- En Go, une fonction peut retourner une ou plusieurs valeurs.
- Pour retourner plusieurs valeurs, les types de retour sont définis entre parenthèses.
- Cette fonctionnalité est souvent utilisée pour retourner à la fois le résultat et une éventuelle erreur.
- Exemple de code :
func divMod(x int, y int) (int, int) { return x / y, x % y } // Appel de la fonction div, mod := divMod(7, 2)
- Documentation officielle : Go Lang - Function types
Fonctions anonymes et fermetures (closures)#
- Une fonction anonyme est une fonction sans nom. Elle est souvent utilisée là où une fonction est nécessaire mais n'est pas assez complexe pour justifier une déclaration formelle.
- Une fermeture est une fonction anonyme qui capture et utilise des variables de l'environnement dans lequel elle est définie.
- Exemple de code :
adder := func(x int) int { return x + 1 } // Appel de la fonction result := adder(5)
- Documentation officielle : Go Lang - Function literals
Fonctions variadiques#
- Les fonctions variadiques sont des fonctions qui peuvent prendre un nombre variable d'arguments.
- En Go, cela est indiqué par les points de suspension (...) avant le type du dernier paramètre.
- Exemple de code :
func sum(nums ...int) int { total := 0 for _, num := range nums { total += num } return total } // Appel de la fonction result := sum(1, 2, 3, 4, 5)
- Documentation officielle : Go Lang - Calls