scala学习笔记3:基本控制结构基础

Posted 超级核弹头

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scala学习笔记3:基本控制结构基础相关的知识,希望对你有一定的参考价值。

以下主要记录的是看完scala in programming这本书buildin control structures(第七章)后的要点总结。

1,if,while,do while和for的用法和java类似,不过for语句中可以带filter。

1     val filesHere = (new File(".")).listFiles()
2     for (file <- filesHere if file.getName.endsWith("src"))
3       println(file)

2,通过for循环可以产生集合。格式:for clauses yield body

1     val filesHere = (new File(".")).listFiles()
2     def srcFiles =
3     for {
4       file <- filesHere if file.getName.endsWith("t")
5     }
6     yield file
7 
8     for (file <- srcFiles)
9       println(file)

3,异常和java类似,类型可以用TypeNothing表示。并且可以用case匹配来处理异常。

4,scala有match语句,用法示例如下。

1     val firstArg = if (args.length > 0) args(0) else "salt1"
2 
3     firstArg match {
4       case "salt" => println("haha")
5       case _ => println("bbb")
6     }

5,scala中没有continue和break语句。workaround:

  a,boolean变量条件加到循环判断中

  b,函数式(递归)--尽量使用

  c,使用scala.util.control.Break包,但是不建议这么做,性能不太好。

6,变量作用域范围问题和java类似,另外尽量采用函数式编程,少用控制结构,少用var,多用val.

以上是关于scala学习笔记3:基本控制结构基础的主要内容,如果未能解决你的问题,请参考以下文章

Scala学习笔记一之基础语法,条件控制,循环控制,函数,数组,集合

寒假学习进度十二

Spark基础学习笔记14:Scala数据结构

Spark基础学习笔记13:Scala函数

Scala学习笔记——内建控制结构

AngularJS入门学习笔记一