在表达式中删除 Kotlin 中的中断

Pra*_*pat 4 java switch-statement kotlin

如何在不破坏表达式的情况下在 kotlin 中编写When Expression?在 Java 中,我们可以这样做。

int x = 3;
switch (x){
   case 1:
      System.out.println("1");
   case 2:
      System.out.println("2");  
   case 3:
      System.out.println("3");  // 3 will be printed
   case 4:
      System.out.println("4");  // 4 will be printed
}
Run Code Online (Sandbox Code Playgroud)

结果:
3
4

我怎样才能达到这样的结果?

Ale*_*nov 5

目前无法使用Kotlin实现Java switch语句的 fall through 结构。 when

解决方法:

val x = 3

if (x <= 1) println("1")
if (x <= 2) println("2")
if (x <= 3) println("3")
if (x <= 4) println("4")
Run Code Online (Sandbox Code Playgroud)

@约尔

我们有一个暂定计划来支持 when 语句中的 continue 关键字以支持失败。不过,它没有安排在任何特定的 Kotlin 未来版本中。