Scala中怎么中断循环

发布时间:2023-05-05 14:57:29 作者:iii
来源:亿速云 阅读:131

本篇内容主要讲解“Scala中怎么中断循环”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Scala中怎么中断循环”吧!

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 时中断了循环

Scala中怎么中断循环

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中怎么中断循环”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

推荐阅读:
  1. Java8和Scala中的高阶函数有哪些
  2. Scala中的Lambda表达式是什么以及为什么使用Lambda表达式

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

scala

上一篇:Pandas在数据分析和机器学习中的应用及优势是什么

下一篇:Rust中的panic定义及触发条件是什么

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》