Menu
CoddyTech

Retourner plusieurs valeurs

Fait partie de la section Fondamentaux du Journey GO de Coddy. Leçon 56 sur 109.

Les fonctions Go peuvent renvoyer plusieurs valeurs à la fois, ce qui est extrêmement utile pour renvoyer à la fois les résultats et les informations d’erreur.

Crée une fonction qui renvoie à la fois le quotient et le reste :

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

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

Lorsque tu exécutes ce programme, il affiche :

7 ÷ 3 = 2 with remainder 1

La fonction renvoie deux valeurs séparées par des virgules, et nous capturons les deux valeurs à l’aide de plusieurs variables dans l’affectation.

Si tu n’as besoin que de certaines des valeurs renvoyées, tu peux utiliser l’identifiant blanc _ pour ignorer celles dont tu n’as pas besoin :

q, _ := divide(7, 3)  // ignore le reste
fmt.Println("Quotient:", q)

Utiliser _ indique à Go d’ignorer cette valeur de retour. C’est nécessaire lorsque tu n’utilises pas une valeur, car Go n’autorise pas les variables inutilisées.

challenge icon

Défi

Débutant

Dans ce défi, tu vas t’entraîner à renvoyer plusieurs valeurs depuis une fonction en Go.

Nous avons une fonction appelée getPersonInfo qui doit renvoyer le nom d’une personne, son âge et indiquer si elle est étudiante. Ta tâche consiste à compléter la fonction en ajoutant l’instruction return appropriée.

Essayez vous-même

package main

import "fmt"

// Cette fonction doit renvoyer trois valeurs : name, age et isStudent
func getPersonInfo() (string, int, bool) {
	// Les variables sont déjà définies pour vous
	name := "Alex"
	age := 25
	isStudent := true
	
	// TODO: Renvoyer les trois valeurs (name, age, isStudent)
	
}

func main() {
	// Appeler la fonction et stocker les valeurs renvoyées
	name, age, isStudent := getPersonInfo()
	
	// Afficher les valeurs
	fmt.Printf("Name: %s\n", name)
	fmt.Printf("Age: %d\n", age)
	fmt.Printf("Is Student: %t\n", 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

Entraînez-vous par vous-même : Compilateur Go en ligne