Guard Let
Coddy'nin Swift Journey'sinin Temeller bölümünün bir parçası. Ders 13 / 86.
if let bir optional'ın sarmalamasını kaldırıp bir değer mevcut olduğunda kodu çalıştırırken, guard let bunun tam tersi bir yaklaşım benimser. Bir değer eksik olduğunda erken çıkar. Bu, özellikle önce "kötü" durumu ele almak ve ana mantığı temiz tutmak istediğin fonksiyonların içinde kullanışlıdır.
func greet(name: String?) {
guard let unwrappedName = name else {
print("No name provided")
return
}
print("Hello, \(unwrappedName)!")
}
greet(name: "Taylor") // Merhaba, Taylor!
greet(name: nil) // İsim sağlanmadıguard let ifadesi, name değer içeriyor mu diye kontrol eder. İçermiyorsa else bloğu çalışır ve işlev return ile sonlanır. Optional bir değer içeriyorsa bu değer unwrappedName içine açılır ve if let ifadesinden temel farkı şudur: açılmış değişken yalnızca bir bloğun içinde değil, işlevin geri kalanında da kullanılabilir.
Bu "erken çıkış" kalıbı, hata durumlarını önceden ele alarak kodunuzu okunabilir tutar; böylece ana mantık birden çok if ifadesinin içine iç içe yerleştirilmez.
Görev
KolayvalidateAge işlevini yazın; bu işlev isteğe bağlı bir age parametresi almalı ve bu parametrenin güvenli bir şekilde açılması için guard let kullanmalıdır.
Yaş nil ise "Invalid age" döndürün. Aksi takdirde, açılmış yaşın bulunduğu "Age: [value]" değerini döndürün.
Parametreler:
age(Int?): Bir kişinin yaşını temsil eden isteğe bağlı bir tam sayı
Döndürülen değer: Girdi nil ise "Invalid age", aksi takdirde açılmış değeri içeren "Age: [value]" olmak üzere bir dize.
Örnek: age değeri 25 ise "Age: 25" döndürün. age değeri nil ise "Invalid age" döndürün.
Kendin dene
func validateAge(age: Int) -> String {
// Buraya kod yazın
}
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temeller bölümündeki tüm dersler
4Operatörler Bölüm 1
Aritmetik OperatörlerMod OperatörüBileşik AtamaTekrar - Basit MatematikKarşılaştırma Operatörleri7Temel Girdi/Çıktı
Print FonksiyonuDize EnterpolasyonuReadLine ile GirdiTür DönüşümüTekrar - 120'ye KadarTekrar - Doğru mu Yanlış mı10Fonksiyonlar
Fonksiyon TanımlamaParametreler ve ArgümanlarDönüş DeğerleriArgüman EtiketleriTekrar - Sigma FonksiyonuTekrar - Doğrulama FonksiyonuVarsayılan Değerler13Diziler Üzerinde Yineleme
Öğeler Üzerinde YinelemeEnumerate YöntemiDizeler Üzerinde Yineleme P1Dizeler Üzerinde Yineleme P22Değişkenler
Let ve VarTür AnotasyonlarıSayılarStringBooleanAdlandırma KurallarıTekrar - Değişkenleri Başlat5Operatörler Bölüm 2
Mantıksal Operatörler Bölüm 1Mantıksal Operatörler Bölüm 2Tekrar - Basit MantıkMantıksal Operatörler Bölüm 3Üçlü Operatör8Hesap Bölüştürme Hesaplayıcısı
Karşılama MesajıGirdi Alma11FizzBuzz'a Farklı Bir Yorum
Oyuna Genel BakışFizzBuzz Fonksiyonu3Optional Değerler
Optional Değerler NedirIf Let ile AçmaGuard LetNil Birleştirme OperatörüTekrar - Güvenli Açma9Döngüler
For-In DöngüsüWhile DöngüsüRepeat-While DöngüsüBreakContinueTekrar - FaktöriyelDöngülerde Aralıklarİç İçe DöngüTekrar - Dinamik GirdiKendi başına pratik yap: Swift playground