《快学Scala》——数组、映射和元组
2019-03-16

Carpe diem

if (x > 0) 1 else -1
上述表达式的值是1或-1,具体是哪一个取决于x的值。你可以将if/else的值赋值给变量:
val s = if (x > 0) 1 else -1
这与如下语句的效果一致:
if (x > 0) s = 1 else s = -1
以上两个的区别在于:第一个可以用来初始化val;第二种s必须是var。
Scala没有静态方法或静态字段,可以用object来达到同样目的。
object Accounts {
private var lastNumber = 0
def newUniqueNumber() = { lastNumber += 1; lastNumber }
}
对象本质上可以拥有类的所有特性,只有一个例外:不能提供构造器参数。
范式的目标: