iT邦幫忙

2023 iThome 鐵人賽

DAY 15
0

When

when 是 Kotlin 中用於多分支判斷的表達式。它類似於其他程式語言中的 switch 或 case 陳述式,但比傳統的 switch 更靈活且功能強大。

when 表達式的基本結構如下:

when (expression) {
    value1 -> {
        // 當 expression 等於 value1 時執行這裡的程式碼
    }
    value2 -> {
        // 當 expression 等於 value2 時執行這裡的程式碼
    }
    else -> {
        // 當 expression 不等於任何已定義的值時執行這裡的程式碼
    }
}

when 可以有多個分支,每個分支用 -> 分隔,可以根據需要定義多個分支,每個分支處理不同的情況。

when (dayOfWeek) {
    1 -> println("星期一")
    2 -> println("星期二")
    3 -> println("星期三")
    // ...
    else -> println("其他天")
}

可以使用區間(range)來比較值,這樣可以更簡潔地處理多個連續值的情況。

when (score) {
    in 90..100 -> println("優秀")
    in 80 until 90 -> println("良好")
    in 70 until 80 -> println("普通")
    else -> println("需要改進")
}

when 也可以用於比較類型。可以使用 is 關鍵字來檢查變數的類型,並執行相應的程式碼。

when (value) {
    is String -> println("這是一個字串")
    is Int -> println("這是一個整數")
    else -> println("未知類型")
}

如果省略了 when 的 expression 部分,則每個分支的條件將是布林表達式,並且首先為 true 的分支將被執行。

when {
    condition1 -> println("條件1成立")
    condition2 -> println("條件2成立")
    else -> println("都不成立")
}

簡單來說,when可以使得代碼更具可讀性,並且可以減少使用大量 if-else 的需要。


上一篇
Day 14 排序法
下一篇
Day 16 While
系列文
我與Kotlin的愛恨情仇30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言