Swift Academy · Leçon

guard let pour quitter rapidement

Déballez une valeur et quittez rapidement en cas d’échec pour réduire l’imbrication.

Leçon 2 sur 413 étapes

guard let pour quitter rapidement est une leçon Swift Academy gratuite sur CoddyKit. Ceci est la leçon 2 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.

Le principe de guard

guard vérifie une condition et, si elle échoue, quitte la portée actuelle. Il est conçu pour les sorties anticipées qui gardent le chemin nominal sans indentation supplémentaire.

func greet(_ name: String?) {
    guard let name else {
        print("No name")
        return
    }
    print("Hello, \(name)")
}
greet("Ada")
greet(nil)

Syntaxe de guard let

Écrivez guard let value = optional else { return }. Contrairement à if let, la valeur extraite reste dans la portée après le guard.

func double(_ text: String) {
    guard let n = Int(text) else {
        print("Not a number")
        return
    }
    print(n * 2)
}
double("8")
double("x")

La valeur reste disponible

Comme guard quitte la portée en cas d'échec, le compilateur sait que la valeur existe ensuite. Vous pouvez l'utiliser normalement dans le reste de la fonction.

func length(of text: String?) {
    guard let text else { return }
    let count = text.count
    print(count)
}
length("hello")

Le bloc else doit sortir

Le bloc else d'une garde doit quitter la portée courante : return, break, continue ou throw. Le compilateur l'impose.

func process(_ value: Int?) {
    guard let value else {
        return
    }
    print("Processing \(value)")
}
process(99)

Liaison guard let abrégée

Comme if let, guard accepte une forme abrégée : guard let name else { ... } lorsque les noms correspondent.

func show(_ name: String?) {
    guard let name else {
        print("missing")
        return
    }
    print(name)
}
show("Kai")

Chemin principal linéaire

Le grand avantage de guard est d'offrir un chemin principal linéaire et lisible. Comparez les pyramides de if let imbriqués à une série de gardes.

func register(name: String?, age: Int?) {
    guard let name else { return }
    guard let age else { return }
    print("\(name) is \(age)")
}
register(name: "Mia", age: 28)

Gérer des conditions simples

Guard fonctionne avec toute condition Bool, et pas seulement avec les optionnels. guard count > 0 else { return } quitte l'exécution rapidement.

func divide(_ a: Int, by b: Int) {
    guard b != 0 else {
        print("Cannot divide by zero")
        return
    }
    print(a / b)
}
divide(10, by: 2)
divide(10, by: 0)

Guard dans les boucles

Dans une boucle, une garde peut utiliser continue pour ignorer une itération lorsque des données sont manquantes.

let inputs = ["1", "x", "3"]
for item in inputs {
    guard let n = Int(item) else { continue }
    print(n * 10)
}

Plusieurs liaisons dans une garde

Une seule garde peut déballer plusieurs optionnels, séparés par des virgules. Tous doivent réussir pour poursuivre.

func combine(_ a: String?, _ b: String?) {
    guard let a, let b else { return }
    print(a + b)
}
combine("foo", "bar")

Garde avec des vérifications de type where

Vous pouvez ajouter des conditions booléennes après une liaison, en les séparant par une virgule, afin de préciser quand la garde réussit.

func validate(_ text: String?) {
    guard let text, !text.isEmpty else {
        print("invalid")
        return
    }
    print("ok: \(text)")
}
validate("")
validate("hi")

Quand choisir guard

Utilisez guard pour les préconditions au début d'une fonction, et if let lorsque vous n'avez besoin de la valeur que brièvement dans une branche.

func area(width: Int?, height: Int?) -> Int {
    guard let width, let height else { return 0 }
    return width * height
}
print(area(width: 3, height: 4))

Vérification rapide

Testez guard let.

Récapitulatif : guard let pour quitter rapidement

guard let value else { return } déballe un optionnel et conserve la valeur dans la portée qui suit. Son bloc else doit sortir, ce qui garde votre chemin principal linéaire et lisible.

func f(_ x: Int?) {
    guard let x else { return }
    print(x)
}
f(5)
Gratuit pour commencer

Apprends Swift avec un tuteur IA — gratuit

Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.

Cours
122
Leçons
409

Questions Fréquemment Posées

La leçon « guard let pour quitter rapidement » est-elle gratuite ?

Oui — le texte complet de « guard let pour quitter rapidement » 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 « guard let pour quitter rapidement » ?

Déballez une valeur et quittez rapidement en cas d’échec pour réduire l’imbrication. 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 2 sur 4.

Combien de temps prend la leçon « guard let pour quitter rapidement » ?

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. if let et liaison abrégée
  2. guard let pour quitter rapidement
  3. Liaison de plusieurs valeurs optionnelles
  4. Motif optionnel dans switch et for
← Retour à Swift Academy