Scala 的内建的控制循环结构之所以少是因为函数字面量function literals的引入。不采取添加更高级的循环而是采用libraries 的形式。
Scala所有控制结构都是会返回某种值,这是functional languages 的策咯。
programs are viewed as computing a value, thus the components of a program should also compute values.程序是被用来计算出某个值的,因此程序的各个组成部分也应该是用来计算某个值的。
Scala中if`` for
try
match
都是采用三元操作符 ternary operator model,即他们都有返回值
7.1 if
- This code is slightly shorter(精简)
-
It tells readers of the code that the variable will never change, saving them from scanning all code in the variable’s scope to see if it ever changes.
if
7.2 while
这种语法结构返回的类型是Unit, 单元值(unit value) 符号是 () 。除了这两个,下面两个也是Unit
Unit
7.3 for表达式
-
Iteration through collections
- Filtering
- Nested iteration
- Mid-stream variable bindings
- Producing a new collection
- Throwing exceptions
- Catching exceptions
- The finally clause
-
Yielding a value
g
7.5 match
7.6 不用continue 和break
7.7 作用域
7.8 打印乘法表格 指令式
Scala 最常见的例子是花括号一般都会引入新的作用域,一次任何在花括号定义的变量都会在右花括号之后离开作用域
Scala 中内嵌作用域中的变量会遮挡外部作用域中相同名称的变量,因为外部作用域同名变量在内嵌作用域中将变得不可见。
函数式
网友评论