Menu
Coddy logo textTech

Le mot-clé `fallthrough`

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

En Go, le mot-clé fallthrough nous permet de continuer l'exécution vers le cas suivant dans une instruction switch, même après qu'une correspondance a été trouvée. Explorons comment cela fonctionne.

Tout d'abord, créons une instruction switch simple qui utilise le mot-clé fallthrough pour décrire un nombre :

num := 15
    
switch {
case num < 20:
    fmt.Print("Less than 20 ")
    fallthrough
case num > 10:
    fmt.Print("Greater than 10 ")
    fallthrough
case num > 0:
    fmt.Print("Positive number")
}

Après l'exécution de ce code, nous verrons les trois messages affichés à l'écran :

Less than 20 Greater than 10 Positive number

Cela se produit parce que le premier cas correspond (15 est inférieur à 20), et le mot-clé fallthrough force Go à exécuter également le deuxième cas. Ensuite, le deuxième cas utilise également fallthrough, ce qui oblige Go à exécuter également le troisième cas. Sans fallthrough, seul le premier cas correspondant s'exécuterait.

N'oubliez pas que fallthrough exécutera le cas suivant peu importe si sa condition est vraie ou non. Dans notre exemple, toutes les conditions se trouvent être vraies pour le nombre 15, mais le cas suivant s'exécuterait même si sa condition était fausse.

challenge icon

Défi

Débutant

Dans ce défi, vous allez vous entraîner à utiliser le mot-clé fallthrough dans une instruction switch. Le mot-clé fallthrough permet à l'exécution de continuer vers le cas suivant même après qu'une correspondance a été trouvée.

Vous avez une variable représentant un jour de la semaine. Votre tâche consiste à ajouter le mot-clé fallthrough à l'endroit approprié pour que le programme affiche à la fois 'It's a weekday!' et 'Time to work!' lorsque le jour est 'Monday'.

Aide-mémoire

Le mot-clé fallthrough permet à l'exécution de continuer vers le cas suivant dans une instruction switch, même après qu'une correspondance a été trouvée :

num := 15
    
switch {
case num < 20:
    fmt.Print("Less than 20 ")
    fallthrough
case num > 10:
    fmt.Print("Greater than 10 ")
    fallthrough
case num > 0:
    fmt.Print("Positive number")
}

Cela affichera : Less than 20 Greater than 10 Positive number

fallthrough exécute le cas suivant peu importe si sa condition est vraie ou fausse.

Essayez vous-même

package main

import "fmt"

func main() {
	// Une variable représentant un jour de la semaine
	day := "Monday"
	
	// Instruction switch pour vérifier le jour
	switch day {
	case "Monday":
		fmt.Println("It's a weekday!")
		// TODO: Ajouter le mot-clé fallthrough ici pour continuer au cas suivant
	case "Tuesday", "Wednesday", "Thursday", "Friday":
		fmt.Println("Time to work!")
	case "Saturday", "Sunday":
		fmt.Println("It's the weekend!")
	default:
		fmt.Println("Invalid day!")
	}
}
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