Scala具有以下特点
在Scala中,你不需要显式地指定数据类型和函数的返回类型。Scala足够智能,能够推断出数据的类型。函数的返回类型由函数中最后一个表达式的类型决定。
在Scala中,没有静态变量或方法。Scala使用单例对象,它实质上是一个源文件中只有一个对象的类。使用object
关键字声明单例对象,而不是class
关键字。
Scala使用不可变性的概念。每个声明的变量默认是不可变的。不可变意味着你不能修改它的值。你也可以创建可变变量,可以改变其值。
不可变数据有助于管理需要管理数据的并发控制。
在Scala中,默认情况下,计算是延迟的。Scala只在需要时评估表达式。你可以使用lazy
关键字声明一个延迟变量。它用于提高性能。
Scala的样例类就是普通的类,默认情况下是不可变的,并且可以通过模式匹配进行解构。
样例类中列出的所有参数默认都是公共和不可变的。
样例类支持模式匹配,所以你可以编写更加逻辑性的代码。
Scala提供了包含Actor模型的标准库。你可以使用actor来编写并发代码。Scala还提供了一个名为Akka的平台和工具来处理并发。Akka是一个独立的开源框架,提供基于actor的并发。Akka actors可以分布式或与软件事务内存结合使用。
自Scala 2.10.0起,Scala提供了一种从数据创建字符串的新机制,称为字符串插值。字符串插值允许用户直接在处理的字符串字面量中嵌入变量引用。Scala提供了三种字符串插值方法:s
、f
和raw
。
高阶函数是接受一个函数作为参数或返回一个函数的函数。换句话说,我们可以说一个与另一个函数一起工作的函数称为高阶函数。
高阶函数允许你创建函数组合、lambda函数或匿名函数等。
特征类似于带有部分实现的接口。在Scala中,特征是一组抽象和非抽象方法。你可以创建只有所有抽象方法或一些抽象和一些非抽象方法的特征。
特征被编译为对应的Java接口和实现类,其中包含在特征中实现的任何方法。
Scala提供了丰富的集合库。它包含用于收集数据的类和特质。这些集合可以是可变的或不可变的。您可以根据自己的需求使用它。Scala.collection.mutable包包含所有可变的集合。在使用此包时,您可以添加、删除和更新数据。
Scala.collection.immutable包包含所有不可变的集合。它不允许您修改数据。
本文链接:http://so.lmcjl.com/news/20195/