Scala中如何中断循环详解
目录 1.使用抛出和捕获异常的方法跳出当前循环2.使用Scala中的Breaks类的break方法3.测试4.简化 使用 ._ 来引入全部内容 方便调用
在scala中无法直接使用break关键字跳出当前循环,但有其他方法
1.使用抛出和捕获异常的方法跳出当前循环
def main(args: Array[String]): Unit = { try { for (i <- 0 until 5) { if (i == 3) throw new RuntimeException println(i) } } catch { case e: Exception => } println("这是循环外的代码")
2.使用Scala中的Breaks类的break方法
首先引入Breaks类,调用该类下的breakable方法(表示接下来的代码是可中断的),在需要中断的地方调用该类下的break方法即可跳出当前循环
import scala.util.control.Breaks object Test_Break { def main(args: Array[String]): Unit = { try { for (i <- 0 until 5) { if (i == 3) throw new RuntimeException println(i) } } catch { case e: Exception => } println("这是循环外的代码") //使用Scala中的Breaks类中的break方法 Breaks.breakable( for (i <- 0 until 5) { if (i == 3) { Breaks.break() } println(i) } ) } }
这里解释下,Breaks类下的breakable方法其实就是将 try catch 进行了包装,而该类下的break方法其实就是抛出了一个 breakException (返回类型Nothing),也就是说这里同样是使用抛出异常的方法实现了跳出循环的这样一个功能
3.测试
可见都是当 i == 3 时中断了循环
4.简化
使用 ._ 来引入全部内容 方便调用
我们可以使用 import scala.util.control.Breaks._
(其实就是加上了 ._ 类似于Java中的 .* )引入Break类中的所有属性和方法
这样接下来调用其中的方法就不用再 . 了
package chapter02 import scala.util.control.Breaks._ object Test_Break { def main(args: Array[String]): Unit = { try { for (i <- 0 until 5) { if (i == 3) throw new RuntimeException println(i) } } catch { case e: Exception => } println("这是循环外的代码") //使用Scala中的Breaks类中的break方法 breakable( for (i <- 0 until 5) { if (i == 3) { break() } println(i) } ) } }
到此这篇关于Scala中如何中断循环详解的文章就介绍到这了,更多相关Scala中断循环内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Eclipse开发JavaWeb项目配置Tomcat的方法步骤
本文主要介绍了Eclipse开发JavaWeb项目配置Tomcat的方法步骤,首先介绍eclipse开发JavaWeb项目需要配置的相关环境,使用tomcat软件在本地搭建服务器,然后再在eclipse环境下配置tomcat,感兴趣的可以了解一下2021-08-08Java的wait(), notify()和notifyAll()使用心得
本篇文章是对java的 wait(),notify(),notifyAll()进行了详细的分析介绍,需要的朋友参考下2013-08-08详解Spring boot+CXF开发WebService Demo
这篇文章主要介绍了详解Spring boot+CXF开发WebService Demo,非常具有实用价值,需要的朋友可以参考下2017-05-05
最新评论