kotlin中when表达式的三种用法

时间:2025-03-19 08:07:06

这个是一个开头

我们都知道,在kotlin中可以用when表达式来替换if else表达式来使用,比如如下代码:

if (count == 42) {
    println("I have the answer.")
} else {
    println("The answer eludes me.")
}

也可以用when表达式来实现:

when (count) {
42->{
 	println("I have the answer.")
}
else-> {
    println("The answer eludes me.")
}

这种也是when最常见的用法

这是另外一个用法

当count的判断条件更加复杂时,比如这样的情况:

if (count == 42) {
    println("I have the answer.")
} else if (count > 35) {
    println("The answer is close.")
} else {
    println("The answer eludes me.")
}

我们此时可以这样使用when表达式:

val answerString = when {
    count == 42 -> "I have the answer."
    count > 35 -> "The answer is close."
    else -> "The answer eludes me."
}

println(answerString)

这是第三种用法

当count需要判断更独特的条件时,比如这样:

if (count == 42 || count == 45 || count==56) {
    println("I have the answer.")
} else if (count == 35) {
    println("The answer is close.")
} else {
    println("The answer eludes me.")
}

这时我们可以这样来写when表达式:

when (count) {
42, 45, 56->{
 	println("I have the answer.")
}
35->{
	println("The answer is close.")
}
else-> {
    println("The answer eludes me.")
}

这是一个结尾

这真的只是一个结尾

开发有感,记录一下,巴拉巴拉