📜  Scala的功能

📅  最后修改于: 2021-01-09 11:19:43             🧑  作者: Mango

Scala的功能

scala具有以下功能:

  • 类型推断
  • 单例对象
  • 不变性
  • 惰性计算
  • 案例类别和模式匹配
  • 并发控制
  • 字符串插值
  • 高阶函数
  • 特质
  • 丰富的收藏集

类型推断

在Scala中,您不需要明确提及数据类型和函数返回类型。 Scala足够聪明,可以推断出数据类型。的函数的返回类型由最后存在于函数表达的类型来确定。

单例对象

在Scala中,没有静态变量或方法。 Scala使用单例对象,该对象本质上是类,在源文件中只有一个对象。通过使用object而不是class关键字来声明Singleton对象。

不变性

Scala使用不变性概念。默认情况下,每个声明的变量都是不可变的。不可变意味着您无法修改其值。您也可以创建可以更改的可变变量。

不变的数据有助于管理需要管理数据的并发控制。

惰性计算

在Scala中,默认情况下计算是惰性的。 Scala仅在需要时才计算表达式。您可以使用lazy关键字声明一个惰性变量。它用于提高性能。

案例类别和模式匹配

Scala case类只是常规类,默认情况下是不变的,并且可以通过模式匹配将其分解。

案例类中列出的所有参数都是公共的,默认情况下是不可变的。

案例类支持模式匹配。因此,您可以编写更多的逻辑代码。

并发控制

Scala提供了包含参与者模型的标准库。您可以使用actor编写并发代码。 Scala提供了另一种平台和工具来处理称为Akka的并发。 Akka是一个单独的开源框架,提供基于参与者的并发。 Akka actor可以分布或与软件事务存储结合。

字符串插值

从Scala 2.10.0开始,Scala提供了一种从数据创建字符串的新机制。这称为字符串插值。字符串插值允许用户将变量引用直接嵌入处理后的字符串字面量。 Scala提供了三种字符串插值方法:s,f和raw。

高阶函数

高阶函数是一个函数,要么接受一个函数作为参数或者返回的函数。换句话说,我们可以说这与其他函数工作的函数称为高阶函数。

高阶函数允许您创建函数组成,lambda函数或匿名函数等。

特质

特征就像具有部分实现的接口。在Scala中,特征是抽象和非抽象方法的集合。您可以创建可以具有所有抽象方法或某些抽象方法和某些非抽象方法的特征。

特性被编译为具有相应实现类的Java接口,这些实现类包含特征中实现的任何方法。

丰富的收藏

Scala提供了丰富的集合库。它包含用于收集数据的类和特征。这些集合可以是可变的或不可变的。您可以根据需要使用它。 Scala.collection.mutable包包含所有可变集合。您可以在使用此软件包时添加,删除和更新数据。

Scala.collection.immutable包包含所有不可变的集合。它不允许您修改数据。