0Pricing
Swift Academy · Leçon

Switch exhaustif sur les valeurs

Couvrez tous les cas ou utilisez une branche par défaut.

Switch exhaustif sur les valeurs est une leçon Swift Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Swift Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Swift Academy comprend 4 leçons au total.

Rôle de switch

Un switch compare une valeur à plusieurs cas et exécute le premier qui correspond. C'est une alternative claire aux longues chaînes de if/else-if.

let day = 3
switch day {
case 1:
    print("Monday")
case 2:
    print("Tuesday")
case 3:
    print("Wednesday")
default:
    print("Other")
}

Pas d'enchaînement implicite

Contrairement au C, les cas de Swift ne s'enchaînent pas automatiquement. Après l'exécution du cas correspondant, le switch se termine. Aucun break n'est nécessaire.

let n = 1
switch n {
case 1:
    print("one")
case 2:
    print("two")
default:
    print("many")
}

Les switch doivent être exhaustifs

Un switch doit couvrir toutes les valeurs possibles. Pour un Int, vous ne pouvez pas toutes les énumérer ; vous devez donc fournir un cas default.

let code = 500
switch code {
case 200:
    print("OK")
case 404:
    print("Not Found")
default:
    print("Unhandled: \(code)")
}

Le cas default

Le cas default intercepte tout ce qui ne correspondait pas aux cas précédents. Il doit apparaître en dernier.

let grade = "X"
switch grade {
case "A":
    print("Excellent")
case "B":
    print("Good")
default:
    print("Needs review")
}

Appliquer un switch à des chaînes

Switch fonctionne avec toute valeur comparable, y compris les chaînes.

let command = "start"
switch command {
case "start":
    print("Starting")
case "stop":
    print("Stopping")
default:
    print("Unknown command")
}

Pas de cas vides

Chaque cas doit contenir au moins une instruction. Si vous voulez réellement qu'un cas ne fasse rien, écrivez break.

let n = 2
switch n {
case 1:
    print("one")
case 2:
    break
default:
    print("other")
}
print("done")

Switch comme instruction

Un switch exécute des instructions ; il ne renvoie pas lui-même de valeur. Pour produire une valeur, affectez-en une dans chaque cas ou utilisez-le pour appeler des fonctions.

let level = 2
var label: String
switch level {
case 1: label = "low"
case 2: label = "mid"
default: label = "high"
}
print(label)

Appliquer un switch à Bool

Vous pouvez appliquer un switch à un Bool avec les cas true et false. Aucun default n'est nécessaire, car les deux cas sont couverts.

let isReady = true
switch isReady {
case true:
    print("Go")
case false:
    print("Wait")
}

Les énumérations n'ont pas besoin de default

Lorsque vous traitez tous les cas d'une énumération dans un switch, celui-ci est déjà exhaustif et un default est inutile.

enum Direction { case north, south }
let d = Direction.north
switch d {
case .north: print("Up")
case .south: print("Down")
}

Une logique à plusieurs branches lisible

Switch organise clairement les décisions à plusieurs branches. Chaque résultat possède son propre cas étiqueté, facile à parcourir et à étendre.

let score = 72
var result: String
switch score {
case 90...100: result = "A"
case 80..<90: result = "B"
case 70..<80: result = "C"
default: result = "F"
}
print(result)

Position de default

Le default doit être le dernier cas. Le placer plus tôt rendrait les cas suivants inaccessibles, ce que Swift interdit.

let x = 7
switch x {
case 0:
    print("zero")
case 7:
    print("seven")
default:
    print("something else")
}

Vérification rapide

Testez un switch exhaustif.

Récapitulatif : switch exhaustif sur des valeurs

Un switch Swift correspond au premier cas, ne s'enchaîne jamais implicitement et doit être exhaustif. Utilisez default pour les types ouverts comme Int ou String ; les énumérations entièrement couvertes n'en ont pas besoin.

let n = 3
switch n {
case 1: print("a")
default: print("b")
}

Questions Fréquemment Posées

La leçon « Switch exhaustif sur les valeurs » est-elle gratuite ?

Oui — le texte complet de « Switch exhaustif sur les valeurs » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Swift Academy, passe à CoddyKit PRO. Le cours Swift Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Switch exhaustif sur les valeurs » ?

Couvrez tous les cas ou utilisez une branche par défaut. Tu pratiques Swift Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Swift Academy ?

Aucune expérience préalable n'est requise. Swift Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.

Combien de temps prend la leçon « Switch exhaustif sur les valeurs » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Swift Academy ?

Oui. Chaque leçon Swift Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Switch exhaustif sur les valeurs
  2. Correspondance avec des plages et des tuples
  3. Liaison de valeurs et clauses where
  4. Cas composés et fallthrough
← Retour à Swift Academy