比如上面的传递 val s = sum(1 to 10) 这样子是不对的,此时需要使用 scala 特殊的语法将参数定义为序列,让 scala 解释器能够识别。
定义不带 private 的 var field,此时 scala 生成的面向 JVM 的类时,会定义为 private 的 name 字段,并提供 public 的 getter 和 setter 方法。
object 相当于 class 的单个实例,通常在里面放一些静态的 field 或者 method 。
可以将 Trait 作为接口来使用,此时的 Triat 就与 Java 中的接口非常类似。
Scala 中的函数是一等公民,可以独立定义,独立存在,而且可以直接将函数作为值赋值给变量。
其中 Iterable 是所有集合 trait 的根 trait。这个结构与Java的集合体系非常相似。
Scala 的模式匹配除了可以对值进行匹配之外,还可以对类型进行匹配、对 Array 和 List 的元素情况进行匹配、对 case class 进行匹配、甚至对有值或没值(Option)进行匹配。...
Scala 的类型参数其实意思与 Java 的泛型是一样的,也是定义一种类型参数,比如在集合,在类,在函数中,定义类型参数,然后就可以保证使用到该类型参数的地方,就肯定,也只能是这种类型。从而实现程序更好的健壮性。...
Scala 的隐式转换,其实最核心的就是定义隐式转换函数,即 implicit conversion function 。
Scala 的 Actor 类似于 Java 中的多线程编程。但是不同的是,Scala 的 Actor提供的模型与多线程有所不同。Scala 的 Actor 尽可能地避免锁和共享状态,从而避免多线程并发时出现资源争用的情况,进而提升多线程编程的性...