Menu
Coddy logo textTech

`switch` avec expressions

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

Découvrons les expressions switch en Go, qui nous permettent d’évaluer directement une valeur dans l’instruction switch.

Voyons d'abord 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 valeur après celui-ci. Cela signifie que Go évaluera chaque expression de cas 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 les mêmes fonctionnalités.

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 afin de 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 attribuer à la variable description :
- "Start of the week" pour lundi
- "Midweek" pour mercredi
- "Almost weekend" pour vendredi
- "Weekend" pour samedi ou dimanche
- "Regular day" pour tout autre jour

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: Écris 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"
	
	
	// Affiche 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

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