L'instruction `switch`
Fait partie de la section Fondamentaux du Journey GO de Coddy — leçon 39 sur 109.
Découvrons l'instruction switch en Go, qui offre une manière plus propre de vérifier plusieurs conditions par rapport à l'utilisation de nombreuses instructions if/else if.
Tout d'abord, créons un programme simple qui évalue un numéro de jour et affiche le nom du jour correspondant :
day := 3
switch day {
case 1:
fmt.Println("Monday")
case 2:
fmt.Println("Tuesday")
case 3:
fmt.Println("Wednesday")
default:
fmt.Println("Another day")
}
Après l'exécution de ce code, le programme vérifiera la valeur de day (qui est 3) et la fera correspondre au case approprié. Puisque day est égal à 3, le programme exécutera le code sous case 3 et affichera à l'écran :
WednesdayL'instruction switch vérifie chaque case dans l'ordre jusqu'à ce qu'elle trouve une correspondance. Si aucune correspondance n'est trouvée, elle exécute le code sous le default. Cela rend votre code beaucoup plus propre que d'écrire plusieurs instructions if/else if.
Défi
Débutantswitch en Go. On vous donnera une variable représentant un jour de la semaine, et vous devrez compléter l'instruction switch pour afficher s'il s'agit d'un jour de semaine ou du week-end.Aide-mémoire
L'instruction switch en Go offre un moyen plus propre de vérifier plusieurs conditions par rapport à l'utilisation de nombreuses instructions if/else if.
Syntaxe de base :
switch variable {
case value1:
// code à exécuter
case value2:
// code à exécuter
default:
// code à exécuter si aucune correspondance
}
Exemple :
day := 3
switch day {
case 1:
fmt.Println("Monday")
case 2:
fmt.Println("Tuesday")
case 3:
fmt.Println("Wednesday")
default:
fmt.Println("Another day")
}
L'instruction switch vérifie chaque case dans l'ordre jusqu'à ce qu'elle trouve une correspondance. Si aucune correspondance n'est trouvée, elle exécute le code sous le cas default.
Essayez vous-même
package main
import "fmt"
func main() {
// Cette variable représente un jour de la semaine
day := "Saturday"
// TODO: Compléter l'instruction switch pour vérifier si le jour est un jour de semaine ou un week-end
switch day {
// Ajouter des cas pour les jours de week-end (samedi et dimanche) et afficher "It's the weekend!"
// Ajouter un cas par défaut pour les jours de semaine et afficher "It's a weekday."
}
}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
4Opérateurs de comparaison et logiques
Opérateurs de comparaison - Partie 1Opérateurs de comparaison - Partie 2Opérateur logique ANDOpérateur logique OROpérateur logique NOTBases de la priorité des opérateursRécapitulatif - Effectuer des comparaisons7Structures de contrôle : Les boucles
Explication de la boucle `for`Boucle For - Les basesBoucle For - Condition uniquementLe mot-clé `break`Le mot-clé `continue`Boucles imbriquéesRécapitulatif - Répéter des actions2Variables et types de données de base
Qu'est-ce qu'une variableInférence de type avec `:=` Entiers (int)Nombres à virgule flottanteBooléensChaînes de caractères (Strings)Valeurs zéroConstantesConventions de nommageRécapitulatif - Variables et types5Entrées/Sorties de base
Sortie formatéeVerbes de formatageAffichage des typesSaisie utilisateur de baseRécapitulatif - Entrées et Sorties8Fonctions
Comprendre les fonctionsDéclarer une fonctionAppeler des fonctionsParamètres de fonctionRetourner une valeur uniqueRetourner plusieurs valeursValeurs de retour nomméesBases de la portée des fonctionsRécapitulatif - Créer du code réutilisable11Types composites : Slices
Introduction aux SlicesDéclaration de littéraux de SlicesCréation de Slices avec `make`Longueur vs Capacité des SlicesAccès aux éléments d'un SliceAjout d'élémentsDécoupage de Slices/Tableaux existantsItération sur les SlicesCopie de SlicesRécapitulatif - Listes dynamiques3Opérateurs de base
Opérateurs arithmétiquesOpérateur de divisionL'opérateur moduloOpérateur d'affectationOpérateurs d'affectation augmentéeIncrémentation et décrémentationRécapitulatif - Calculs6Structure de contrôle : Les conditionnelles
L'instruction `if`Le mot-clé `else`Le mot-clé `else if`Masquage de variable dans `if`Initialisation des variablesL'instruction `switch``switch` avec expressions`switch` sans expressionLe mot-clé `fallthrough`Récapitulatif - Prendre des décisions9Pointeurs
Qu'est-ce qu'un pointeur ?Déclaration de variables pointeursL'opérateur d'adresseDéréférencement de pointeursUtiliser des pointeurs dans les fonctionsPointeurs NilRécapitulatif - Comprendre les pointeurs12Types composites : Maps
Introduction aux MapsDéclaration de littéraux de MapCréation de Maps avec `make`Ajout et mise à jour de paires clé-valeurAccès aux valeurs d'une MapVérification de l'existence d'une cléSuppression d'entrées de MapTaille d'une MapItération sur les MapsRécapitulatif - Stockage clé-valeur