guard let pour quitter rapidement
Déballez une valeur et quittez rapidement en cas d’échec pour réduire l’imbrication.
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)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
- if let et liaison abrégée
- guard let pour quitter rapidement
- Liaison de plusieurs valeurs optionnelles
- Motif optionnel dans switch et for