scala中跳出循環的3種方法
阿新 • • 發佈:2017-10-17
語句 ret control pan lag ron true result bre
1、scala中跳出循環語句的3種方法
1)基於Boolean類型的控制變量
1 // while循環 2 3 var flag = true 4 var result = 0 5 var n = 0 6 7 while(flag) { 8 res += n 9 n += 1 10 println("res = "+ res) 11 println("n = "+ n) 12 if (n == 10) { 13 flag = false 14 } 15 }
1 // for循環 2 3 var flag = true 4 var res = 0 56 for (i <- 0 until 10 if flag) { 7 res += i 8 println("res = " + res ) 9 if (i == 5) flag = false 10 }
2)使用嵌套函數以及return
1 /** 2 * 1 + 2 + 3 + 4 3 * 4 * @return 5 */ 6 def addOuter() = { 7 var res = 0 8 def addInner() { 9 for (i <- 0 until 10) {10 if (i == 5) { 11 return 12 } 13 res += i 14 println("res = " + res) 15 } 16 } 17 addInner() 18 res 19 } 20 21 def main(args: Array[String]): Unit = { 22 addOuter() 23 }
3)使用Breaks類的break方法
def main(args: Array[String]): Unit = {// 需要導入這個包 import scala.util.control.Breaks._ var res = 0 breakable { for (i <- 0 until 10) { if (i == 5) { break } res += i } } println("res = " + res) }
scala中跳出循環的3種方法