Nil Birleştirme Operatörü
Coddy'nin Swift Journey'sinin Temeller bölümünün bir parçası. Ders 14 / 86.
Bazen bir optional nil olduğunda, birden fazla satır kod yazmadan yalnızca bir default değer sağlamak istersiniz. Swift’in nil coalescing operator’ü (??) tam olarak bunu yapar. Bir değeri varsa optional’ın sarmalamasını kaldırır veya nil ise bir default değer döndürür.
let nickname: String? = nil
let displayName = nickname ?? "Guest"
print(displayName) // Guestnickname nil olduğundan, operatör bunun yerine "Guest" değerini döndürür. nickname bir değere sahip olsaydı, o değer kullanılırdı.
let username: String? = "SwiftCoder"
let greeting = username ?? "Anonymous"
print(greeting) // SwiftCoderNil birleştirme operatörü, bir geri dönüş değerine ihtiyaç duyduğunuz tek satırlık ifadeler için mükemmeldir. Yalnızca nil değerini varsayılan bir değerle değiştirmek istediğinizde, if let ifadesi yazmaktan daha temizdir. Sonuç her zaman isteğe bağlı olmayan bir değerdir; bu nedenle daha fazla açma işlemi yapmadan doğrudan kullanabilirsiniz.
Görev
KolaygetDisplayName adlı bir işlev yazın; bu işlev bir username ve bir defaultName almalı, ardından nil birleştirme operatörünü kullanarak uygun görünen adı döndürmelidir.
username boşsa (boş bir dize olan "" ile temsil edilir), bunu nil olarak değerlendirin ve varsayılan adı döndürün. Aksi takdirde username değerini döndürün.
Parametreler:
username(String): Kullanıcının adı (boş dize nil'i temsil eder)defaultName(String): Kullanılacak yedek ad
Döndürür: Boş değilse username, aksi takdirde defaultName.
İpucu: İşlevinizin içinde username değerini bir String? değişkeninde saklayın ve username değeri "" değerine eşitse basit bir if ile bu değişkene nil atayın. Ardından yedek değeri sağlamak için ?? kullanın.
Kendin dene
func getDisplayName(username: String, defaultName: String) -> String {
// Kodu buraya yaz
}
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