您好,登录后才能下订单哦!
在 Kotlin 中,when
表达式是一种条件控制结构,类似于 Java 中的 switch
语句,但功能更加强大。它可以用于替代多个 if-else
语句,并且支持多种条件判断,包括值匹配、类型匹配和范围匹配等。
以下是 when
表达式的一些常见用法:
最简单的 when
表达式只是简单地检查一个值是否等于某个特定值:
val x = 3
when (x) {
1 -> println("One")
2 -> println("Two")
3 -> println("Three")
else -> println("Other")
}
在这个例子中,when
表达式检查变量 x
的值,并根据匹配的值执行相应的代码块。
你可以使用 ..
运算符来指定一个范围:
val age = 25
when (age) {
in 0..12 -> println("Child")
in 13..19 -> println("Teenager")
in 20..64 -> println("Adult")
else -> println("Senior")
}
在这个例子中,age
在不同的年龄段会打印不同的消息。
when
表达式还可以用于类型匹配:
fun describe(obj: Any) {
when (obj) {
is String -> println("It's a string: $obj")
is Int -> println("It's an int: $obj")
is Boolean -> println("It's a boolean: $obj")
else -> println("Unknown type")
}
}
在这个例子中,describe
函数根据传入对象的类型执行不同的代码块。
你可以在同一个 when
表达式中使用多个条件:
val x = 5
when {
x > 10 -> println("Greater than 10")
x < 5 -> println("Less than 5")
else -> println("Between 5 and 10")
}
在这个例子中,when
表达式没有检查变量 x
的值,而是直接检查多个条件。
else
分支when
表达式必须有一个 else
分支,以处理所有未匹配的情况:
val x = 3
when (x) {
1 -> println("One")
2 -> println("Two")
3 -> println("Three")
else -> println("Other")
}
在这个例子中,如果 x
的值不是 1、2 或 3,else
分支将被执行。
如果你只有一个条件分支,可以省略 ->
和代码块:
val x = 3
when (x)
1 -> println("One")
2 -> println("Two")
3 -> println("Three")
else -> println("Other")
在这个例子中,when
表达式的语法更加简洁。
通过这些用法,你可以灵活地使用 when
表达式来处理各种条件判断。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。