Switch avec des intervalles
Fait partie de la section Fondamentaux du Journey Swift de Coddy — leçon 30 sur 86.
Les instructions switch deviennent encore plus puissantes lorsque vous utilisez des plages au lieu de valeurs individuelles. C'est parfait pour catégoriser des nombres en groupes, comme pour convertir un score en une note.
let score = 85
switch score {
case 90...100:
print("A")
case 80..<90:
print("B")
case 70..<80:
print("C")
case 60..<70:
print("D")
default:
print("F")
}L'opérateur ... crée une plage fermée qui inclut les deux bornes, ainsi 90...100 correspond à 90, 91, jusqu'à 100. L'opérateur ..< crée une plage semi-ouverte qui exclut la borne supérieure — 80..<90 correspond aux nombres de 80 à 89.
Swift vérifie chaque cas dans l'ordre et exécute le premier qui correspond. Comme notre score est de 85, il tombe dans 80..<90, donc "B" est affiché. Cette approche est beaucoup plus propre que d'écrire plusieurs conditions else if avec des opérateurs de comparaison.
Défi
FacileÉcrivez une fonction getAgeCategory qui prend age et renvoie la catégorie de l'étape de la vie en fonction des tranches d'âge.
Utilisez une instruction switch avec des plages pour classer l'âge dans l'une des cinq étapes de la vie.
Conditions :
0...2- renvoie"Infant"3...12- renvoie"Child"13...19- renvoie"Teenager"20...64- renvoie"Adult"65...120- renvoie"Senior"- Toute autre valeur - renvoie
"Invalid age"
Paramètres :
age(Int) : L'âge de la personne
Renvoie : La catégorie de l'étape de la vie sous forme de String
Aide-mémoire
Les instructions switch peuvent utiliser des intervalles pour faire correspondre des valeurs au sein d'un intervalle spécifique :
let score = 85
switch score {
case 90...100:
print("A")
case 80..<90:
print("B")
case 70..<80:
print("C")
default:
print("F")
}L'opérateur ... crée un intervalle fermé qui inclut les deux bornes (par exemple, 90...100 correspond aux valeurs de 90 à 100).
L'opérateur ..< crée un intervalle semi-ouvert qui exclut la borne supérieure (par exemple, 80..<90 correspond aux valeurs de 80 à 89).
Swift vérifie chaque cas dans l'ordre et exécute le premier qui correspond.
Essayez vous-même
func getAgeCategory(age: Int) -> String {
// Écrire 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