引言
Kotlin 是一种基于 JVM (Java Virtual Machine) 的静态类型编程语言,它可以与 Java 无缝协作。在 Kotlin 中,我们可以使用 when
表达式来实现类似于 Java 中的 switch
语句。本文将探讨 Kotlin 中使用 when
表达式的写法,并提供一些实例来帮助我们理解和使用它。
when
表达式的基本语法
在 Kotlin 中, when
表达式的语法如下所示:
when (variable) {
value1 -> // 执行逻辑
value2 -> // 执行逻辑
value3 -> // 执行逻辑
else -> // 执行逻辑
}
variable
是待匹配的变量。value1
、value2
、value3
是匹配的值。可以是单个的值,也可以是多个值的列表。- 每个匹配值对应一段执行逻辑,你可以在符合条件的分支内编写所需的代码。
else
分支是可选的,当没有一个条件匹配时,将会执行else
分支。
when
表达式的高级用法
合并多个条件
在 Kotlin 中,我们可以合并多个匹配条件,并将它们放在一个分支内。示例如下:
when (variable) {
in 1..10 -> // 执行逻辑
in 11..20 -> // 执行逻辑
!is Int -> // 执行逻辑
else -> // 执行逻辑
}
in
关键字用于检查变量是否在给定的范围内。!is
关键字用于检查变量是否不属于某个类型。
使用表达式作为分支条件
Kotlin 中的 when
表达式不仅仅支持常量值和范围,还可以使用表达式来作为条件。这些表达式的结果将会与 variable
进行比较。示例如下:
when (variable) {
is String -> // 执行逻辑
variable.length > 10 -> // 执行逻辑
else -> // 执行逻辑
}
is
关键字用于检查变量是否属于某个类型。variable.length > 10
是一个表达式,它返回一个 boolean 值。
实例演示
下面是一些使用 Kotlin 中 when
表达式的实际示例:
fun describeObject(obj: Any) {
when (obj) {
is String -> println("输入的是字符串")
is Int -> println("输入的是整数")
in 1..10 -> println("输入的是 1 到 10 之间的数")
in 11..20 -> println("输入的是 11 到 20 之间的数")
else -> println("无法识别输入")
}
}
在上述示例中,函数 describeObject
接受一个参数 obj
,并使用 when
表达式根据不同的条件进行匹配和处理。
总结
通过本文,我们了解了 Kotlin 中 when
表达式的语法和一些高级用法。它可以完全替代 Java 中的 switch
语句,并且提供了更多的灵活性和功能。当你需要在 Kotlin 中实现类似 switch
的行为时,when
表达式将是你的首选。希望本文能对你理解和使用 Kotlin 中的 when
表达式有所帮助。
本文来自极简博客,作者:梦幻独角兽,转载请注明原文链接:Kotlin 中 switch 写法