Özet - Null safety
- Kotlin kursu
- Başlangıç
- Ders 82/116
- 5 dk
?, !!, ?: ve let'i birleştirerek null-safe bir fonksiyon yazarsın.
Özet: ?, !!, ?: ve let birlikte
Bu özette null-safe araçları birleştireceksin. Bir nullable değer hem ?.let ile işlenebilir hem de ?: ile varsayılan fallback alabilir. !! ise yalnızca "eminim" dediğin noktalarda kullanılır.
val name: String? = null
name?.let { println("Merhaba $it") } ?: println("Misafir")
// MisafirBu zincir, null ise "Misafir" yazdırır; null değilse selamlama yapar. Böylece tek satırda iki dalı da yönetmiş olursun.
Uygulama let ve Elvis ile null-safe selamlama
Bir val name: String? = null tanımla. name?.let { println("Merhaba $it") } ?: println("Misafir") ile null-safe selamlama yazdır.
Başlangıç kodu
fun main() {
val name: String? = null
// name null ise "Misafir", değilse "Merhaba $it" yazdır (let ?: kullan)
}Örnek çözüm
fun main() {
val name: String? = null
name?.let { println("Merhaba $it") } ?: println("Misafir")
}Beklenen çıktı
Misafir
Uygulama if (name != null) ile uzunluğu yazdır
Bir val name: String? = "Ayşe" tanımla. if (name != null) bloğu içinde println(name.length) ile uzunluğu yazdır.
Başlangıç kodu
fun main() {
val name: String? = "Ayşe"
// name null değilse uzunluğunu yazdır (if != null)
}Örnek çözüm
fun main() {
val name: String? = "Ayşe"
if (name != null) {
println(name.length)
}
}Beklenen çıktı
4
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Hangisi let ve Elvis'i birlikte kullanır?
- if (name == null) println(name)
- name?.let { println(it) } ?: println("Misafir") Doğru cevap
- name!! + name?.length
- println(name)
Açıklama: ?.let null değilse çalışır, ?: null ise varsayılan verir.
2 Operatörü rolüyle eşleştir
| Kavram | Anlamı |
|---|---|
?. |
Safe call |
!! |
Non-null assertion |
?: |
Elvis varsayılan |
?.let { } |
Null-safe blok |