Fourth SCala:
-
都是在java的虚拟机上运行
-
可以直接使用管Java的类库
-
都是静态类型语言
-
Scala及支持面向对象泛型也支持函数式编程泛型。
-
类型推断:在java中,你必须声明每个变量、实际参数或形式参数的类型。Scala则会在可能的情况下推断出变量的不同之处。
-
函数式编程概念;
-
不变量:使用val来声明定义,var是变量的声明;
-
高阶程序构造:用于并发应用的actor模型,使用高阶函数的Ruby风格的集合以及作为一等对象类型(first-class)的XML的处理;
-
函数式程序由函数组成;
-
函数总是具有返回值;
-
函数对于相同的输入总是会返回相同的值;
-
函数式程序禁止改变状态或修改数据。一旦你设置了一个值,就无需再管它了。
Scala是强类型的。
语法介绍:
-
就说明下不用,Scala的条件判断中不能使用布尔格式以外的类型,nil也不行;
-
while的循环是一样的,而for循环使用的时候是用参数的方式的:(如下)
Scala中的类:
继承:
集合:
-
列表(list),集(set),映射(Map)这些就没什么好解释了,都差不多,就一点点不同,没有了Ruby的一些语法糖就是了;
-
在集合中可以使用:head、count、empty、first、等等的高阶函数;也可以使foreach迭代,foldleft累加返回值;
并发:
Scala总结:
-
并发:actor模型和线程池都很受欢迎(我也挺喜欢的)。
-
与java的兼容;
-
xml:内置了XML支持;
-
桥接:一种函数式编程泛型和面向对象编程泛型之间的过度桥梁(像c++是过程和对象的桥梁)
-
静态类型;
-
语法:语法很复杂,很麻烦;
-
可变性:。。。。。