Тавзеҳ диҳед дар бораи консепсияи изҳороти 'when' дар забони барномасозии Kotlin.
sobes.tech AI
Ҷавоб аз AI
Дар Kotlin when — оператори сохтории умувормандест, ки ҷойи switch анъанавии дар дигар забонҳоро мегирад. Он метавонад ҳамчун изҳориш (ки арзишро бармегардонад) ё ҳамчун оператор истифода шавад.
Вазифаҳои асосӣ:
-
Мувофиқати арзишҳо: Мувофиқати бо арзишҳои мушаххас.
fun describe(obj: Any): String = when (obj) { 1 -> "Як" "Hello" -> "Салом" is Long -> "Дароз" !is String -> "На сатр" else -> "Номуайян" } -
Тафтиш кардани навъ (
is/!is): Мувофиқати бо навъҳои маълумот. -
Тафтиш кардани дохилшавӣ (
in/!in): Таҳқиқи дохилшавӣ ба доира ё ҷамъоварӣ.fun checkRange(x: Int): String = when (x) { in 1..10 -> "Шуморҳои мусбат дар доира" !in 10..20 -> "Дар доираи дуввум нест" else -> "Ҳеҷ яке аз болояш" } -
Бе аргумент: Истифода мешавад ҳамчун ивазкунандаи бештар чандир барои пайдарпайи
if-else if-else. Шартҳо ба таври пайдарпай арзёбӣ мешаванд.fun checkBoolean(x: Boolean, y: Boolean): String = when { x && y -> "Ҳарду дуруст" !x && !y -> "Ҳарду нодуруст" else -> "Микс" } -
Баргардонидани арзиш: Агар
whenҳамчун изҳориш истифода шавад, бояд комил бошад (ҳама ҳолатҳои имконпазирро фаро гирад ё як шохаиelseдошта бошад).
when хондан ва бехатарии коди худро нисбат ба switch анъанавӣ беҳтар мекунад.