let
- Kotlin kursu
- Başlangıç
- Ders 79/116
- 5 dk
let ile null-safe blok öğrenirsin.
let ile null-safe blok
?.let { } birleşimi, alıcı null değilse lambda'yı çalıştırır; null ise hiçbir şey yapmaz. Lambda içinde alıcı it olarak bilinir ve non-null türüne sahiptir.
val name: String? = "Ayşe"
name?.let {
println("Merhaba $it")
}
// Merhaba AyşeBu yapı, "null değilse birkaç işlem yap" deme biçimidir; if (x != null) bloğuna kısa bir alternatiftir.
it ve zincirleme let
?.let içinde alıcı otomatik olarak it olur; non-null türüyle. Birden çok let zinciri de yazılabilir, ancak iç içe it kullanımı okunabilirliği bozar; bu durumda açık parametre adı kullanmak ({ value -> ... }) daha iyidir.
name?.let { value ->
println("Merhaba $value")
}Bu biçimde value adı, it'in yerini alır; kodu daha okunaklı kılar.
Uygulama let ile null-safe selamlama
Bir val name: String? = "Ayşe" tanımla. name?.let { println("Merhaba $it") } ile null-safe selamlama yazdır.
Başlangıç kodu
fun main() {
val name: String? = "Ayşe"
// name null değilse "Merhaba" mesajını yazdır (let kullan)
}Örnek çözüm
fun main() {
val name: String? = "Ayşe"
name?.let { println("Merhaba $it") }
}Beklenen çıktı
Merhaba Ayşe
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Boşluğu doldur: let bloğu
name?.____ { println(it) }
name?.let { println(it) }
Açıklama: name?.let { } null değilse lambda'yı çalıştırır.
2 İfadeyi rolüyle eşleştir
| Kavram | Anlamı |
|---|---|
?.let { } |
null değilse çalıştır |
it |
Lambda'nın tek parametresi |
name?.length |
null ise null döner |
name ?: "Yok" |
null ise varsayılan |
3 name?.let { println(it) } — name null ise ne olur?
- Exception fırlatır
- println(null) yazar
- Lambda çalışmaz, null döner Doğru cevap
- it = null olur
Açıklama: ?.let null alıcıda lambda'yı çalıştırmaz; null döner.