scala自身是没有continue,break这两个语法关键词的。
但是实际上我们还是很希望有这两个语法,那么我们是否可以自己实现呢?
- 从官网上搜索,我们可以找到一下关于break的类相关资料:
Breaks extends AnyRef
A class that can be instantiated for the break control abstraction. Example usage:
val mybreaks = new Breaks
import mybreaks.{break, breakable} breakable {
for (...) {
if (...) break()
}
}
Calls to break from one instantiation of Breaks
will never target breakable objects of some other instantiation.
- continue测试:
import util.control.Breaks._ /**
* Created by Administrator on 2016/11/15.
*/
object MyMain {
def main(args: Array[String]): Unit = {
println("Hello World") for (index <- 1 to 10) {
breakable {
if (index == 6) {
println("the index is :"+index)
break()
}
else {
println("hello" + index)
}
}
}
}
}
输出结果
Hello World
hello1
hello2
hello3
hello4
hello5
the index is :6
hello7
hello8
hello9
hello10
Process finished with exit code 0
- break测试:
import util.control.Breaks._ /**
* Created by Administrator on 2016/11/15.
*/
object MyMain {
def main(args: Array[String]): Unit = {
println("Hello World")
breakable {
for (index <- 1 to 10) {
if (index == 6) {
println("the index is :" + index)
break()
}
else {
println("hello" + index)
}
}
}
}
}
或者
import util.control.Breaks._ /**
* Created by Administrator on 2016/11/15.
*/
object MyMain {
def main(args: Array[String]): Unit = {
println("Hello World")
for (index <- 1 to 10) {
if (index == 6) {
println("the index is :" + index)
break
}
else {
println("hello" + index)
}
}
}
}
输出结果
Hello World
hello1
hello2
hello3
hello4
hello5
the index is :6
参考资料:scala break & continue http://www.cnblogs.com/rollenholt/p/4119105.html