`
qindongliang1922
  • 浏览: 2183772 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
7265517b-f87e-3137-b62c-5c6e30e26109
证道Lucene4
浏览量:117530
097be4a0-491e-39c0-89ff-3456fadf8262
证道Hadoop
浏览量:125921
41c37529-f6d8-32e4-8563-3b42b2712a50
证道shell编程
浏览量:59896
43832365-bc15-3f5d-b3cd-c9161722a70c
ELK修真
浏览量:71301
社区版块
存档分类
最新评论

Scala里面如何使用break和continue

 
阅读更多

好多从Java转过来使用Scala的人会发现Scala里面竟然没有break和contine关键字,其实不是这样的,Scala里面推荐使用函数式的风格解决break和contine的功能,而不是一个关键字。

如何在Scala中实现break和continue呢?

(1)break例子


  breakable(
    for(i<-0 until 10) {
      println(i)
      if(i==5){
        break()
      }
    }
  )
 // 0,1,2,3,4,5

(2)continue例子
   for(i<-0 until 10){
      breakable{
      if(i==3||i==6) {
        break
      }
      println(i)
      }
    }
    //0,1,2,3,5,7,8,9


需要导入的包:
import util.control.Breaks._


从上面的例子中,我们能看到scala中使用的是函数块的风格来解决break和continue的问题,相比java的一个关键词搞定的写法,有点复杂,但符合函数式编程的风格。


有什么问题可以扫码关注微信公众号:我是攻城师(woshigcs),在后台留言咨询。
技术债不能欠,健康债更不能欠, 求道之路,与君同行。

0
0
分享到:
评论

相关推荐

    简单举例说明C++中break和continue语句的用法

    在C++编程语言中,`break` 和 `continue` 是两种控制流语句,它们用于在循环结构(如`for`、`while`和`do-while`循环)中改变程序的执行流程。这两个关键字在处理特定条件时非常有用,能够帮助我们优化代码并避免...

    Scala基础与实践

    3. 条件表达式和循环表达式:Scala中的条件表达式使用if进行,循环表达式支持for循环,但Scala没有break和continue关键字。在需要提前退出循环时,通常使用返回值和函数式编程技巧来实现。 4. 类和对象:Scala中类...

    Swift和Scala语法的比较

    不过Scala的控制转移结构包括continue、break和fallthrough,而Swift在循环控制中没有fallthrough关键字。 表达式: Swift和Scala的表达式语法非常不同。Swift对一元运算符如`!`、`*`、`+`、`-`提供定制化支持,而...

    《快学Scala》完整版书籍.rar

    2. **控制结构和函数**:控制结构包含条件语句(if/else)、循环(for, while)和跳转语句(break, continue)。函数是Scala的核心,支持函数式编程中的高阶函数和匿名函数。 3. **数组相关操作**:Scala提供了一维...

    about云spark开发基础之Scala快餐第二版.pdf

    - **循环控制**:Scala中没有传统的`continue`和`break`语句,而是提供了更高级的迭代工具如`foreach`等。 - **Scala中的特殊语法**: - **变长参数**:通过使用`*_`语法,可以在函数定义中指定变长参数列表,这...

    scala从入门到精通技术教学视频

    14.break和continue的用法 15.综合案例_九九乘法表 16.综合案例_模拟登陆 第五章 方法和函数 00.导学 01.方法入门 02.返回值的类型推断 03.惰性方法 04.方法参数 05.方法调用方式 06.函数入门 07.方法和函数...

    Scala语言基础|零基础入门.pptx

    - **break 与 continue**:Scala 2.8引入了 `Breaks` 对象来控制循环的退出。 - **try 表达式**:用于异常处理。基本格式如下: ```scala try { // 可能抛出异常的代码 } catch { case e: Exception =&gt; // 处理...

    Scala—— 2. 流程控制

    `while`循环和`do...while`循环与许多其他语言类似,但Scala还提供了`break`和`continue`功能,不过它们需要通过`Breaks`包导入并使用`breakable`函数包裹。例如: ```scala import util.control.Breaks._ breakable...

    基础算法之数据结构.docx

    8. **控制结构**:Scala不提供`break`和`continue`,但通过`breakable`块可以模拟类似功能。 9. **函数和方法**:函数是独立的代码单元,方法是类的一部分。Scala中的函数可以嵌套定义,没有重载和重写,但方法可以...

    学大数据为什么要学Java?.pdf

    Java简化了C++的一些复杂特性,如去掉go to语句,使用break和continue替代,不支持操作符过载和多继承,这使得学习曲线更为平缓。此外,Java不使用指针,而是使用引用,减少了内存管理的复杂性,同时提供了自动的...

    高级程序设计语言课件.rar

    控制结构包括条件语句(if-else)、循环(for、while)、跳转语句(break、continue)。这部分内容可能通过实例演示了如何使用这些结构来控制程序流程。 6. **函数式编程**: 函数式编程强调纯函数、无副作用和...

    kotlin-reference-chinese

    - **返回与跳转**: 讲解return、break、continue等关键词的使用场景。 - **类与对象**: 介绍类的定义方法,以及如何创建和使用对象。 - **类与继承**: 讨论继承的概念、实现方式及其注意事项。 - **属性与字段**: ...

    kotlin开发文档

    - **返回和跳转**:提供了 return、break 和 continue 关键字来控制流程执行。 - **类和对象**:Kotlin 的类支持继承和多接口实现,同时也支持单例模式。 - **属性和字段**:属性可以有 getter 和 setter 方法,而...

    Kotlin中文文档

    - **返回与跳转**: 可以使用`return`, `break`, `continue`等关键字来控制程序流程。 - **类和对象**: Kotlin中的类定义类似于Java,但更加简洁。Kotlin还支持数据类(`data class`),用于存储数据的简单类。 - **类...

    kotlin语言文档

    - **返回和跳转**:Kotlin提供了多种方式来控制函数或方法的执行流程,如`return`、`break`、`continue`等。 - **类与对象**:Kotlin中的类定义与Java类似,但提供了更多高级特性,如数据类、密封类等。 - **接口**...

    kotlin pdf 教学文档

    - **返回和跳转**:支持 return、break 和 continue 等关键字。 - **类和对象**:Kotlin 中的类定义、构造函数、继承机制等。 - **属性和字段**:属性定义、getter 和 setter 方法的自动生成。 - **接口**:接口定义...

    kotlin中文文档

    - `break` 和 `continue` 用于控制循环行为。 #### 类和对象 - **类和继承**: - Kotlin支持单继承,但可以通过实现多个接口来模拟多继承。 - **属性和字段**: - 属性可以通过 getter 和 setter 方法来访问。 - *...

    Kotlin学习文档

    - **返回和跳转**:Kotlin提供了多种方式来控制流程的执行,包括`return`、`break`、`continue`等关键字,以及通过标签来标记循环。 - **类和对象**:Kotlin支持面向对象编程,包括类定义、继承、接口实现等。其中,...

    kotlin编程语言 中文

    此外,它还支持 `return`、`break` 和 `continue` 关键字来控制流程执行。 ##### 5. 类与对象 Kotlin中的类定义类似于Java,但它引入了一些新的概念,如数据类(`data class`)、密封类(`sealed class`)和枚举类...

Global site tag (gtag.js) - Google Analytics