Menu
Coddy logo textTech

If Let ile Unwrapping

Coddy'nin Swift Journey'sinin Temeller bölümünün bir parçası — ders 12 / 86.

Bir optional içindeki değere güvenli bir şekilde erişmek için, optional binding adı verilen bir teknik olan if let yapısını kullanırız. Bu, optional'ın bir değer içerip içermediğini kontrol eder ve eğer içeriyorsa, onu geçici bir sabite açar (unwrap eder).

var username: String? = "Swift_Dev"

if let name = username {
    print("Welcome, \(name)")
} else {
    print("No username found")
}
// Hoş geldin, Swift_Dev

Burada, if let, username değişkeninin bir değere sahip olup olmadığını kontrol eder. Sahip olduğu için, değer sadece if bloğu içinde var olan name değişkenine çıkarılır (unwrap edilir). Eğer username, nil olsaydı, bunun yerine else bloğu çalışırdı.

var age: Int? = nil

if let unwrappedAge = age {
    print("Age is \(unwrappedAge)")
} else {
    print("Age not provided")
}
// Yaş belirtilmedi

age, nil olduğu için koşul başarısız olur ve else bloğu çalışır. Bu, eksik bir değeri doğrudan kullanmaya çalışmamız durumunda meydana gelebilecek çökmeleri önler.

challenge icon

Görev

Kolay

Size aşağıdaki değişken verilmiştir:

var nickname: String? = "CoddyLearner"

nickname değişkenini güvenli bir şekilde açmak (unwrap) için if let kullanın. Eğer bir değer içeriyorsa, [value] açılmış takma ad olacak şekilde Hello, [value]! yazdırın. Eğer nil ise, No nickname set yazdırın.

Kopya kağıdı

Bir optional'ı güvenli bir şekilde açmak (unwrap) ve değerine erişmek için if let (isteğe bağlı bağlama) kullanın:

var username: String? = "Swift_Dev"

if let name = username {
    print("Welcome, \(name)")
} else {
    print("No username found")
}
// Welcome, Swift_Dev

Eğer optional bir değer içeriyorsa, bu değer sadece if bloğu içinde var olan geçici bir sabite açılır (unwrap edilir). Eğer optional nil ise, else bloğu çalışır:

var age: Int? = nil

if let unwrappedAge = age {
    print("Age is \(unwrappedAge)")
} else {
    print("Age not provided")
}
// Age not provided

Kendin dene

var nickname: String? = "CoddyLearner"

// TODO: Kodunuzu aşağıya yazın
// nickname'i güvenli bir şekilde açmak (unwrap) için if let kullanın
// Eğer bir değer içeriyorsa, "Hello, [value]!" yazdırın
// Eğer nil ise, "No nickname set" yazdırın
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