kotlin switch
时间: 2024-08-14 11:03:06 浏览: 48
在Kotlin中,`switch`语句是一种控制流结构,用于基于某个表达式的值执行不同的代码块。其基本语法如下:
```kotlin
switch (expression) {
case value1 -> code_to_run_if_value1_is_selected
case value2 -> code_to_run_if_value2_is_selected
// ...更多case分支
default -> code_to_run_if_no_other_case_matches
}
```
在这里,`expression`是你想要评估的表达式,例如一个变量或函数返回的结果。`case`后面跟着具体的值或范围,如果`expression`等于相应的值,则执行对应的`code_to_run`部分。如果没有匹配的`case`,则会执行`default`分支(如果有的话)。
`->`表示箭头函数体,类似于Java的匿名函数,它紧跟在条件后并指示要执行的代码块。Kotlin的`switch`支持字符串、数字、枚举以及一些自定义类型的比较。
相关问题
kotlin中switch
kotlin中的switch语句被称为when语句,它可以接受任意类型的参数,而不仅仅是整数或枚举类型。下面是一个简单的when语句的示例:
```
fun main(args: Array<String>) {
val x = 3
when (x) {
1 -> println("x is 1")
2 -> println("x is 2")
else -> println("x is neither 1 nor 2")
}
}
```
在这个示例中,我们使用when语句来检查x的值,并根据它的值执行不同的操作。当x等于1时,我们打印"x is 1",当x等于2时,我们打印"x is 2",否则我们打印"x is neither 1 nor 2"。
除了检查值之外,when语句还可以检查表达式的类型,以及表达式是否满足某些条件。下面是一个演示这些功能的示例:
```
fun main(args: Array<String>) {
val x: Any = "hello"
when (x) {
is String -> println("x is a string")
!is String -> println("x is not a string")
"hello" -> println("x is the string 'hello'")
else -> println("x is something else")
}
}
```
在这个示例中,我们定义了一个Any类型的变量x,并使用when语句来检查它的类型和值。当x是一个字符串时,我们打印"x is a string",当x不是一个字符串时,我们打印"x is not a string"。当x等于"hello"时,我们打印"x is the string 'hello'",否则我们打印"x is something else"。
总的来说,when语句是一个非常灵活和强大的语言结构,可以帮助我们编写更简洁和易于理解的代码。
kotlin的switch case的写法
Kotlin中的switch/case语句被替换为when表达式。下面是Kotlin中使用when表达式实现多路分支的示例:
```kotlin
val x = 0
val result = when (x) {
0 -> "这是0"
1 -> "这是1"
else -> "谁都不是"
}
println(result) // 输出:这是0
```
在上面的示例中,我们使用了when表达式来判断变量x的值。当x的值为0时,返回"这是0";当x的值为1时,返回"这是1";否则返回"谁都不是"。
需要注意的是,Kotlin的when表达式可以有返回值,因此我们可以将其赋值给一个变量(如上面的result变量)。