Sobes.tech
Junior

Kotlin programlama dilinde 'when' ifadesinin kavramını açıklayın.

sobes.tech yapay zeka

AI'dan gelen yanıt

Kotlin'de when, diğer dillerdeki klasik switch ifadesinin yerini alan evrensel yapısal bir operatördür. Bir ifade (değer döndürerek) veya bir operatör olarak kullanılabilir.

Ana özellikler:

  • Değer karşılaştırması: Belirli değerlerle eşleştirme.

    fun describe(obj: Any): String =
        when (obj) {
            1           -> "Bir"
            "Hello"     -> "Selam"
            is Long     -> "Uzun"
            !is String  -> "Bir dize değil"
            else        -> "Bilinmeyen"
        }
    
  • Tür kontrolü (is/!is): Veri türleriyle eşleştirme.

  • Dahil olma kontrolü (in/!in): Bir aralık veya koleksiyon içinde olup olmadığını kontrol etme.

    fun checkRange(x: Int): String =
        when (x) {
            in 1..10   -> "Aralıkta pozitif sayı"
            !in 10..20 -> "İkinci aralıkta değil"
            else       -> "Yukarıdakilerin hiçbiri"
        }
    
  • Argüman olmadan: if-else if-else zincirinin daha esnek bir yerine kullanılır. Koşullar sırasıyla değerlendirilir.

    fun checkBoolean(x: Boolean, y: Boolean): String =
        when {
            x && y -> "İkisi de doğru"
            !x && !y -> "İkisi de yanlış"
            else -> "Karışık"
        }
    
  • Değer döndürme: when bir ifade olarak kullanıldığında, tüm olası durumları kapsaması veya bir else dalı içermesi gerekir.

when, geleneksel switch ile karşılaştırıldığında kodun okunabilirliğini ve güvenliğini artırır.