您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“Scala中怎么中斷循環(huán)”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“Scala中怎么中斷循環(huán)”吧!
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("這是循環(huán)外的代碼")
首先引入Breaks類(lèi),調(diào)用該類(lèi)下的breakable方法(表示接下來(lái)的代碼是可中斷的),在需要中斷的地方調(diào)用該類(lèi)下的break方法即可跳出當(dāng)前循環(huán)
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("這是循環(huán)外的代碼") //使用Scala中的Breaks類(lèi)中的break方法 Breaks.breakable( for (i <- 0 until 5) { if (i == 3) { Breaks.break() } println(i) } ) } }
這里解釋下,Breaks類(lèi)下的breakable方法其實(shí)就是將 try catch 進(jìn)行了包裝,而該類(lèi)下的break方法其實(shí)就是拋出了一個(gè) breakException (返回類(lèi)型Nothing),也就是說(shuō)這里同樣是使用拋出異常的方法實(shí)現(xiàn)了跳出循環(huán)的這樣一個(gè)功能
可見(jiàn)都是當(dāng) i == 3 時(shí)中斷了循環(huán)
使用 ._ 來(lái)引入全部?jī)?nèi)容 方便調(diào)用
我們可以使用 import scala.util.control.Breaks._
(其實(shí)就是加上了 ._ 類(lèi)似于Java中的 .* )引入Break類(lèi)中的所有屬性和方法
這樣接下來(lái)調(diào)用其中的方法就不用再 . 了
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("這是循環(huán)外的代碼") //使用Scala中的Breaks類(lèi)中的break方法 breakable( for (i <- 0 until 5) { if (i == 3) { break() } println(i) } ) } }
到此,相信大家對(duì)“Scala中怎么中斷循環(huán)”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。