Aller au contenu

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