L'instruction Switch
Fait partie de la section Fondamentaux du Journey Swift de Coddy — leçon 29 sur 86.
Lorsque vous comparez une valeur unique à de nombreuses correspondances possibles, l'instruction switch offre une alternative plus propre aux longues chaînes de else if. C'est particulièrement utile lorsque vous avez plusieurs cas distincts à gérer.
let day = "Monday"
switch day {
case "Monday":
print("Start of the week")
case "Friday":
print("Almost weekend!")
case "Saturday", "Sunday":
print("Weekend!")
default:
print("Regular day")
}Swift compare la valeur après switch à chaque case. Lorsqu'il trouve une correspondance, il exécute le code de ce cas. Remarquez comment vous pouvez combiner plusieurs valeurs dans un seul cas en utilisant des virgules.
Le cas default gère toutes les valeurs qui ne correspondent pas aux autres cas — il est requis lorsque vos cas ne couvrent pas toutes les valeurs possibles. Contrairement à certains autres langages, le switch de Swift ne passe pas automatiquement au cas suivant, vous n'avez donc pas besoin d'instructions break.
let grade = "B"
switch grade {
case "A":
print("Excellent")
case "B":
print("Good")
case "C":
print("Fair")
default:
print("Needs improvement")
}Défi
FacileÉcrivez une fonction getSeasonActivity qui prend season et retourne une activité recommandée pour cette saison.
Utilisez une instruction switch pour faire correspondre la saison et retourner l'activité appropriée.
Cas :
"Spring"- retournez"Go hiking""Summer"- retournez"Go swimming""Fall","Autumn"- retournez"Go apple picking"(les deux doivent retourner la même activité)"Winter"- retournez"Go skiing"- Toute autre valeur - retournez
"Stay home"
Paramètres :
season(String) : Le nom de la saison
Retourne : L'activité recommandée sous forme de String
Aide-mémoire
L'instruction switch offre une alternative plus propre aux multiples instructions else if lors de la vérification d'une seule valeur par rapport à de nombreuses correspondances possibles.
Syntaxe de base :
let day = "Monday"
switch day {
case "Monday":
print("Start of the week")
case "Friday":
print("Almost weekend!")
case "Saturday", "Sunday":
print("Weekend!")
default:
print("Regular day")
}Points clés :
- Swift compare la valeur après
switchà chaquecase - Plusieurs valeurs peuvent être combinées dans un seul cas en utilisant des virgules
- Le cas
defaultgère les valeurs qui ne correspondent pas aux autres cas et est requis lorsque les cas ne couvrent pas toutes les valeurs possibles - Le switch de Swift ne se poursuit pas automatiquement, donc les instructions
breakne sont pas nécessaires
Exemple avec des valeurs de retour :
let grade = "B"
switch grade {
case "A":
print("Excellent")
case "B":
print("Good")
case "C":
print("Fair")
default:
print("Needs improvement")
}Essayez vous-même
func getSeasonActivity(season: String) -> String {
// Écrivez le code ici
}
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 - Partie 1
Opérateurs arithmétiquesOpérateur ModuloAffectation composéeRécapitulatif - Mathématiques simplesOpérateurs de comparaison7Entrées/Sorties de base
Fonction PrintInterpolation de chaînesSaisie ReadLineConversion de typesRécapitulatif - Jusqu'à 120Récapitulatif - Vrai ou Faux10Fonctions
Déclarer une fonctionParamètres et argumentsValeurs de retourÉtiquettes d'argumentRécapitulatif - Fonction SigmaRécapitulatif - Fonction de validationValeurs par défaut13Itération sur les séquences
Itérer sur les élémentsLa méthode d'énumérationItérer sur les chaînes P1Itérer sur les chaînes P22Variables
Let vs VarAnnotations de typeNombresStringsBooléensConventions de nommageRécapitulatif - Initialiser des variables5Opérateurs, partie 2
Opérateurs logiques, partie 1Opérateurs logiques, partie 2Récapitulatif - Logique simpleOpérateurs logiques, partie 3Opérateur ternaire8Calculateur de partage de facture
Message de bienvenueSaisie des données11FizzBuzz avec une variante
Présentation du jeuLa fonction FizzBuzz3Les Optionnels
Comprendre les optionnelsDéballage avec If LetL'instruction Guard LetOpérateur de fusion nilRécapitulatif - Déballage sécurisé6Prise de décision
L'instruction IfIf - ElseRécapitulatif - Calculatrice simpleL'instruction SwitchSwitch avec des intervalles9Boucles
Boucle For-InBoucle WhileBoucle Repeat-WhileBreakContinueRécapitulatif - FactorielleIntervalles dans les bouclesBoucles imbriquéesRécapitulatif - Entrée dynamique