kotlin: when的用法
一,代码:
fun whenExample() {
//例1,普通用法
val number = 3
when (number) {
1 -> println("One")
2 -> println("Two")
3 -> println("Three")
else -> println("Unknown")
}
//匹配多个条件
val day = "Saturday"
when (day) {
"Saturday", "Sunday" -> println("Weekend")
else -> println("Weekday")
}
//范围检查
val score = 85
when (score) {
in 90..100 -> println("Excellent")
in 75..89 -> println("Good")
in 60..74 -> println("Pass")
else -> println("Fail")
}
//类型检查
val obj: Any = "Hello Kotlin"
when (obj) {
is String -> println("It's a String")
is Int -> println("It's an Integer")
else -> println("Unknown type")
}
//不带参数的when
val number2 = 15
when {
number2 % 3 == 0 && number2 % 5 == 0 -> println("FizzBuzz")
number2 % 3 == 0 -> println("Fizz")
number2 % 5 == 0 -> println("Buzz")
else -> println(number2)
}
//作为表达式使用返回一个值
val score2 = 78
val result = when (score2) {
in 90..100 -> "A"
in 80..89 -> "B"
in 70..79 -> "C"
else -> "D"
}
println("Grade: $result")
}
调用:
//处理按钮点击事件
binding.button1.setOnClickListener {
whenExample()
}