Sobes.tech
Junior

Ներկայացրեք '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-ի հետ: