zl程序教程

您现在的位置是:首页 >  后端

当前栏目

[Kotlin] More Advanced "when" Constructs

Kotlin quot when more Advanced
2023-09-14 09:00:47 时间

Difference between "when" and Javascript "switch". 

 

In Switch, you have to call "break"; but "when", you don't need to.

In Switch, the case expression can only be string / integer value; but "when" can be any expressions.

 

fun main() {
    val mode = 10
    
    when (mode) {
        5 -> println("mode is 5")
        3*5 -> println("mode is 15")
        "Hey there".length -> println("value is string")
        in 1..10 -> println("mode is between 1 and 10")
        in 11..20 -> println("mode is between 11 and 20")
        in 21..30 -> println("mode is between 31 and 30")
        !in 1..9 -> println("mode is not between 1 and 9")
    }

}
// mode is between 1 and 10

 

fun main() {
    val random = Random().nextInt(50) + 1

    when (random) {
        in 1..10 -> println("In 1 to 10: $random")
        in 11..20 -> println("In 11 to 20: $random")
        in 21..30 -> println("In 21 to 30: $random")
        in 31..40 -> println("In 31 to 40: $random")
        else -> println("Over 40: $random")
    }

} // In 31 to 40: 35