中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Scala中怎么中斷循環

發布時間:2023-05-05 14:57:29 來源:億速云 閱讀:131 作者:iii 欄目:開發技術

本篇內容主要講解“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中怎么中斷循環”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

南充市| 岳普湖县| 济宁市| 东明县| 达州市| 青海省| 郎溪县| 茌平县| 嘉荫县| 集安市| 金华市| 凉城县| 陕西省| 莱阳市| 洪洞县| 南阳市| 怀仁县| 阳朔县| 安新县| 济阳县| 宁南县| 抚顺市| 都昌县| 大石桥市| 莱西市| 定边县| 门头沟区| 汪清县| 从江县| 荃湾区| 稷山县| 永吉县| 保德县| 孝义市| 普洱| 南皮县| 确山县| 宜兰市| 克什克腾旗| 灌南县| 靖州|