Menu
CoddyTech

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

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

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

Normal nokta . kullanmak yerine, null atanabilir bir türün üyelerine güvenli ş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 olmaz!)
    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, tüm ifade çökmek yerine null döndürür. Değer varsa, normal bir çağrı gibi çalışır.

Birden fazla güvenli çağrıyı da zincirleme yapabilirsiniz:

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

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

challenge icon

Görev

Kolay

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

val message: String? = "Kotlin"

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

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

Ardından, boş değer alabilir başka bir değişken oluşturun:

val empty: String? = null

empty değişkeninin uzunluğunu almak ve yazdırmak için güvenli çağrı operatörünü kullanı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 değişkeninin uzunluğunu almak ve yazdırmak için güvenli çağrı operatörünü kullan
    
    // TODO: message değişkenini 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 değişkeninin 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 Kavramlar bölümündeki tüm dersler

Kendi başına pratik yap: Kotlin playground