个性化阅读
专注于IT技术分析

Kotlin when表达式

Kotlin, 当expression是返回值的条件表达式时。 Kotlin, 当表达式替换switch语句时。 Kotlin, 当表达式充当其他语言(Java, C ++, C)的switch语句时。

使用when作为表达式

我们来看一个简单的when表达式示例。

fun main(args: Array<String>){
    var number = 4
    var numberProvided = when(number) {
        1 -> "One"
        2 -> "Two"
        3 -> "Three"
        4 -> "Four"
        5 -> "Five"
        else -> "invalid number"
    }
    println("You provide $numberProvided")
}

输出:

You provide Four

没有表情时使用

当作为表达式使用时, 不是强制性的, 它可以像在其他语言中一样正常使用。

例如

fun main(args: Array<String>){

    var number = 4
    when(number) {
        1 -> println("One")
        2 -> println("Two")
        3 -> println("Three")
        4 -> println("Four")
        5 -> println("Five")
        else -> println("invalid number")
    }

}

输出:

Four

使用花括号的多重陈述

我们可以使用条件块中包含的多个语句。

例如

fun main(args: Array<String>){
    var number = 1
    when(number) {
        1 -> {
            println("Monday")
            println("First day of the week")
        }
        7 -> println("Sunday")
        else -> println("Other days")
    }
}

输出:

Monday
First day of the week

什么时候有多个分支

我们可以使用多个条件分支(用逗号分隔)。当我们需要为多个选择运行相同的逻辑时, 将使用它。

fun main(args: Array<String>){
    var number = 8
    when(number) {
        3, 4, 5, 6 ->
            println("It is summer season")
        7, 8, 9 ->
            println("It is rainy season")
        10, 11 ->
            println("It is autumn season")
        12, 1, 2 ->
            println("It is winter season")
        else -> println("invalid input")
    }
}

输出:

It is rainy season

在范围内时使用

when表达式还会检查when条件中提供的输入范围。使用..(双点)运算符创建范围。 in运算符用于检查值是否属于范围。

例如:

fun main(args: Array<String>){
    var number = 7
    when(number) {
        in 1..5 -> println("Input is provided in the range 1 to 5")
        in 6..10 -> println("Input is provided in the range 6 to 10")
        else -> println("none of the above")
    }
}

输出:

Input is provided in the range 6 to 10
赞(0)
未经允许不得转载:srcmini » Kotlin when表达式

评论 抢沙发

评论前必须登录!