Menu
Coddy logo textTech

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) // Guest

nickname 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) // SwiftCoder

Nil 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.

challenge icon

Görev

Kolay
getDisplayName 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
}
quiz iconKendini test et

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

Kendi başına pratik yap: Swift playground