Menu
Coddy logo textTech

Valeurs de retour nommées

Fait partie de la section Fondamentaux du Journey GO de Coddy — leçon 57 sur 109.

En Go, vous pouvez nommer vos valeurs de retour dans les déclarations de fonction. Cela rend votre code plus lisible et vous permet d'effectuer un retour en utilisant simplement une instruction return nue.

Créez une fonction avec des valeurs de retour nommées :

func divide(a, b int) (quotient int, remainder int) {
    quotient = a / b
    remainder = a % b
    return  // retour "nu"
}

func main() {
    q, r := divide(7, 3)
    fmt.Println("7 ÷ 3 =", q, "with remainder", r)
}

Le résultat est le même qu'auparavant :

7 ÷ 3 = 2 with remainder 1

Les valeurs de retour nommées sont initialisées à leurs valeurs par défaut (zero values) et peuvent être assignées directement dans le corps de la fonction.

challenge icon

Défi

Débutant

Dans ce défi, vous allez vous entraîner à utiliser les valeurs de retour nommées dans les fonctions Go.

Complétez la fonction getPersonInfo qui renvoie le nom, l'âge d'une personne et si elle est étudiante. La fonction possède déjà des paramètres de retour nommés, mais vous devez leur assigner des valeurs.

La fonction doit renvoyer les valeurs prédéfinies pour une personne nommée 'Alex' qui a 25 ans et qui est étudiante.

Aide-mémoire

En Go, vous pouvez nommer vos valeurs de retour dans les déclarations de fonction pour une meilleure lisibilité et utiliser une instruction return simple :

func divide(a, b int) (quotient int, remainder int) {
    quotient = a / b
    remainder = a % b
    return  // retour "nu"
}

Les valeurs de retour nommées sont initialisées à leurs valeurs par défaut et peuvent être assignées directement dans le corps de la fonction.

Essayez vous-même

package main

import "fmt"

// Cette fonction utilise des valeurs de retour nommées
func getPersonInfo() (name string, age int, isStudent bool) {
	// TODO: Assigner des valeurs aux variables de retour nommées
	// name doit être "Alex"
	// age doit être 25
	// isStudent doit être true
	
	// L'instruction "return" sans arguments renverra les valeurs de retour nommées
	return
}

func main() {
	name, age, isStudent := getPersonInfo()
	fmt.Printf("Name: %s\nAge: %d\nStudent: %t\n", name, age, isStudent)
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Fondamentaux