Scala中的循环中断与跳过操作

scala没有直接的break和continue关键字供我们使用,不过提供了Breaks类来完成这两个功能,下面我们看看怎么用把

//此类需要实例化
val breaks = new Breaks

var i:Int=1

//要彻底中断一个循环就是breaks包裹循环
breaks.breakable({
    
    
  for(a <- array){
    
    
     str.append(a.VN+":"+a.V+";")
     i+=1
     if(i==5){
    
    
     	 //生效时调用方法
         breaks.break()
     }
  }
})


//要执行continue操作则反之
	for(a <- array){
    
    
      breaks.breakable({
    
    
        if(i==2){
    
    
          breaks.break()
        }
        i+=1
        println(a)
      })
    }

其实正常用的时候,大家break操作时用用就行了,continue就不要用它了,因为scala的Breaks类其实本意是符合条件就不在执行breakable的内部操作,并不是用来完全执行中断与跳过操作的,大家可以试一试continue时把i+=1写在循环里breakable外,大家就会发现循环其实没有做continue操作,因此大家有continue需求的时候换不如用if/else呢

猜你喜欢

转载自blog.csdn.net/dudadudadd/article/details/112793318