Fonctions

Fonctions #

// Les _fonctions_ sont centrales en Go. Nous allons les
// découvrir à travers quelques exemples différents.

package main

import "fmt"

// Voici une fonction qui prend deux `int` en paramètres,
// et renvoie leur somme, un int.
func plus(a int, b int) int {

    // Go a besoin de retours explicites : il ne renverra
    // pas automatiquement la valeur de la dernière
    // expression.
    return a + b
}

// Quand vous avez plusieurs paramètres consécutifs du
// même type, vous pouvez vous passez des déclarations
// de type jusqu'au dernier, qui le déclare.
func plusPlus(a, b, c int) int {
    return a + b + c
}

func main() {
    // On appelle une fonction comme on s'y attend, avec
    // `nom(arguments)`
    res := plus(1, 2)
    fmt.Println("1+2 =", res)

    res = plusPlus(1, 2, 3)
    fmt.Println("1+2+3 =", res)
}
$ go run functions.go 
1+2 = 3
1+2+3 = 6

# Les fonctions ont plusieurs autres fonctionnalités 
# particulières. L'une d'entre elles, c'est les valeurs 
# de retour multiples, que nous allons regarder
# maintenant.