Aller au contenu

Retours multiples

Les fonctions Go peuvent retourner plusieurs valeurs. Cette fonctionnalité est souvent utilisée pour retourner un résultat accompagné d’une erreur. Les valeurs de retour peuvent être nommées, ce qui sert de documentation et permet un retour nu (naked return).

Retourner le quotient et le reste d’une division.

package main
import "fmt"
func division(a, b int) (int, int) {
quotient := a / b
reste := a % b
return quotient, reste
}
// Retours nommés
func split(somme int) (x, y int) {
x = somme / 2
y = somme - x
return // retour nu
}
func main() {
q, r := division(10, 3)
fmt.Printf("10 / 3 = %d reste %d\n", q, r)
a, b := split(17)
fmt.Printf("Split 17 : %d et %d\n", a, b)
}
Fenêtre de terminal
10 / 3 = 3 reste 1
Split 17 : 8 et 9