Junior
Kotlin программалоо тилиндеги 'when' билдирүүнүн концепциясын түшүндүрүңүз.
sobes.tech AI
AIден жооп
Kotlin'de when, digər dillərdə klassik switch-in yerini tutan ümumi struktur operatorudur. O, ifadə kimi (dəyər qaytaran) və ya operator kimi istifadə oluna bilər.
Əsas imkanlar:
-
Dəyərlərin müqayisəsi: Konkret dəyərlərlə uyğunluq.
fun describe(obj: Any): String = when (obj) { 1 -> "Bir" "Hello" -> "Salam" is Long -> "Uzun" !is String -> "String deyil" else -> "Naməlum" } -
Növ yoxlaması (
is/!is): Məlumat növləri ilə uyğunluq. -
Daxil olma yoxlaması (
in/!in): Bir aralıq və ya kolleksiyaya daxil olub-olmadığını yoxlama.fun checkRange(x: Int): String = when (x) { in 1..10 -> "Müsbət ədəd aralığında" !in 10..20 -> "İkinci aralıqda deyil" else -> "Yuxarıdakilərdən heç biri" } -
Argument olmadan: Daha çevik
if-else if-elsezənciri üçün əvəz kimi istifadə olunur. Şərtlər ardıcıllıqla qiymətləndirilir.fun checkBoolean(x: Boolean, y: Boolean): String = when { x && y -> "Hər ikisi doğru" !x && !y -> "Hər ikisi yanlış" else -> "Qarışıq" } -
Dəyər qaytarılması: Əgər
whenifadə kimi istifadə olunursa, o, tam olmalıdır (bütün mümkün hallar əhatə etməli və yaelsebloku olmalıdır).
when ənənəvi switch-ə nisbətən kodun oxunuşunu və təhlükəsizliyini artırır.