Menu
CoddyTech

Elvis Operatörü

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

Güvenli çağrı operatörü çökmeleri önlemek için harikadır, ancak bazen null yerine gerçek bir değere ihtiyacın olur. Elvis operatörü ?:, bir ifade null olduğunda varsayılan bir değer sağlamanı sağlar.

Sözdizimi basittir: nullable bir ifadeden sonra ?: koyun ve ardından yedek değeri yazın:

fun main() {
    val name: String? = null
    val displayName = name ?: "Guest"
    println(displayName)  // Yazdırır: Guest
}

Sol taraf null değilse, o değer kullanılır. Null ise, sonuç sağ taraf olur. Bu, güvenli çağrılarla mükemmel şekilde çalışır:

fun main() {
    val text: String? = null
    val length = text?.length ?: 0
    println(length)  // Yazdırır: 0
    
    val greeting: String? = "Hello"
    val greetingLength = greeting?.length ?: 0
    println(greetingLength)  // Yazdırır: 5
}

Operatör adını, ?: yan çevrildiğinde Elvis'in saçına benzemesinden alır. Daha da önemlisi, null olabilen türleri mantıklı varsayılan değerlerle null olamayan değerlere dönüştürmenin temiz bir yolunu sunar.

challenge icon

Görev

Kolay

Bir paketin isteğe bağlı bir takip etiketi ve isteğe bağlı bir varış noktası vardır. Başlangıç kodu her iki değeri de nullable olarak sağlar. Takip etiketi yoksa "Pending", varış noktası yoksa "Unassigned" değerini seçmek için ?: kullanın. Seçilen etiketi, ardından seçilen varış noktasını ayrı satırlara yazdırın.

Kendin dene

fun main() {
    val trackingLabel: String? = null
    val destination: String? = "Harbor"
    // Görüntülenecek iki değeri seçin ve 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.

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

Kendi başına pratik yap: Kotlin playground