Menu
Coddy logo textTech

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.

challenge icon

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
}
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