Menu
Coddy logo textTech

`switch` avec expressions

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

Apprenons-en plus sur les expressions switch en Go, qui nous permettent d'évaluer une valeur directement dans l'instruction switch.

Tout d'abord, voyons comment utiliser une instruction switch avec une expression pour vérifier si un nombre est positif, négatif ou nul :

num := -5
switch {
case num > 0:
    fmt.Println("Positive number")
case num < 0:
    fmt.Println("Negative number")
default:
    fmt.Println("Zero")
}

Après l'exécution de ce code, le programme affichera à l'écran :

Negative number

Remarquez que nous utilisons switch { sans aucune valeur après. Cela signifie que Go évaluera chaque expression case comme une condition booléenne. Puisque num vaut -5, le deuxième cas num < 0 est évalué à vrai, donc "Negative number" est affiché.

Nous pouvons également initialiser une variable directement dans l'instruction switch. Voyons comment cela fonctionne :

switch num := -5; {
case num > 0:
    fmt.Println("Positive number")
case num < 0:
    fmt.Println("Negative number")
default:
    fmt.Println("Zero")
}

Après l'exécution de ce code, nous obtenons le même résultat :

Negative number

Dans cet exemple, nous avons déclaré et initialisé num directement dans l'instruction switch. Le point-virgule sépare l'initialisation de l'expression switch (qui est vide ici). Cela rend notre code plus compact tout en conservant la même fonctionnalité.

challenge icon

Défi

Débutant
Dans ce défi, vous allez vous entraîner à utiliser une expression switch simple en Go. Vous devez compléter le code pour déterminer la description d'un jour en fonction de son nom à l'aide d'une instruction switch.

Une variable dayName est déjà définie avec la valeur "Wednesday". Votre tâche consiste à utiliser une expression switch pour définir la variable description sur :
- "Start of the week" pour Monday
- "Midweek" pour Wednesday
- "Almost weekend" pour Friday
- "Weekend" pour Saturday ou Sunday
- "Regular day" pour tout autre jour

Aide-mémoire

Les expressions switch en Go vous permettent d'évaluer des conditions directement dans l'instruction switch.

Utilisez switch { sans valeur pour évaluer des expressions booléennes dans chaque cas :

num := -5
switch {
case num > 0:
    fmt.Println("Positive number")
case num < 0:
    fmt.Println("Negative number")
default:
    fmt.Println("Zero")
}

Vous pouvez initialiser une variable directement dans l'instruction switch en utilisant un point-virgule pour séparer l'initialisation de l'expression switch :

switch num := -5; {
case num > 0:
    fmt.Println("Positive number")
case num < 0:
    fmt.Println("Negative number")
default:
    fmt.Println("Zero")
}

Essayez vous-même

package main

import "fmt"

func main() {
	// Le nom du jour est déjà défini
	dayName := "Wednesday"
	
	// Variable pour stocker la description
	var description string
	
	// TODO: Écrire une instruction switch qui définit la description en fonction de dayName
	// Pour Monday: "Start of the week"
	// Pour Wednesday: "Midweek"
	// Pour Friday: "Almost weekend"
	// Pour Saturday ou Sunday: "Weekend"
	// Pour tout autre jour: "Regular day"
	
	
	// Afficher le résultat
	fmt.Printf("%s is %s\n", dayName, description)
}
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