Menu
Coddy logo textTech

Güvenli Çağrı Operatörü

Coddy'nin Kotlin Journey'sinin Temel Bilgiler bölümünün bir parçası. Ders 14 / 93.

Nullable bir değişkeniniz olduğunda, yöntemleri doğrudan çağıramaz veya özelliklerine erişemezsiniz: derleyici buna izin vermez, çünkü değer null olabilir. Güvenli çağrı işleci ?. bu sorunu zarif bir şekilde çözer.

Normal bir nokta . kullanmak yerine, null olabilir bir türün üyelerine güvenli bir şekilde erişmek için ?. kullanırsın:

fun main() {
    val name: String? = "Alice"
    val length = name?.length  // 5 döndürür
    println(length)
    
    val nullName: String? = null
    val nullLength = nullName?.length  // null döndürür (çökme yok!)
    println(nullLength)
}

Güvenli çağrı operatörü, özelliğe veya yönteme erişmeden önce değerin null olup olmadığını kontrol eder. Değer null ise ifadenin tamamı çökmek yerine null döndürür. Değer mevcutsa normal bir çağrı gibi çalışır.

Birden fazla güvenli çağrıyı da birbirine zincirleyebilirsiniz:

fun main() {
    val text: String? = "Hello"
    val result = text?.uppercase()?.length
    println(result)  // Yazdırır: 5
}

Zincirin herhangi bir kısmı null ise, ifadenin tamamı hata vermeden güvenli bir şekilde null döndürür.

challenge icon

Görev

Kolay

Aşağıdaki null olabilir değişken size verilmiştir:

val message: String? = "Kotlin"

Güvenli çağrı operatörünü kullanarak:

  1. message uzunluğunu alın ve yazdırın
  2. message değerini büyük harfe dönüştürün ve sonucu yazdırın

Ardından başka bir null olabilir değişken oluşturun:

val empty: String? = null

Güvenli çağrı operatörünü kullanarak empty uzunluğunu alın ve yazdırın.

Her sonuç ayrı bir satıra yazdırılmalıdır. Unutmayın: güvenli çağrı operatörü, değer null olduğunda null döndürür.

Kendin dene

fun main() {
    val message: String? = "Kotlin"
    
    // TODO: message'in uzunluğunu almak ve yazdırmak için güvenli çağrı operatörünü kullan
    
    // TODO: message'i büyük harfe dönüştürmek ve yazdırmak için güvenli çağrı operatörünü kullan
    
    val empty: String? = null
    
    // TODO: empty'nin uzunluğunu almak ve yazdırmak için güvenli çağrı operatörünü kullan
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Temel Bilgiler bölümündeki tüm dersler

Kendi başına pratik yap: Kotlin playground