Kotlin When

Kotlin when

要避免写太多的 if..else 表达式,您可以使用 when 表达式,这更易于阅读。

它用于选择要执行的多个代码块之一:

实例

使用工作日编号计算工作日名称:

  1. fun main() {
  2. val day = 4
  3. val result = when (day) {
  4. 1 -> "Monday"
  5. 2 -> "Tuesday"
  6. 3 -> "Wednesday"
  7. 4 -> "Thursday"
  8. 5 -> "Friday"
  9. 6 -> "Saturday"
  10. 7 -> "Sunday"
  11. else -> "Invalid day."
  12. }
  13. println(result)
  14. }

when 表达式类似于 Java 或 C# 中的 switch 语句。

这就是它的工作原理:

  • 当变量(天)计算一次时
  • 将 day 变量的值与每个 "branch" 分支的值进行比较
  • 每个分支都以一个值开头,后跟一个箭头(->)和一个结果
  • 如果存在匹配项,则执行关联的代码块
  • else 用于指定不匹配时要运行的代码
  • 在上面的例子中,day 的值是 4,这意味着将打印 "Thursday" 星期四