Scala 3 — 书籍

类型和类型系统

语言

Scala 是一门独特的语言,它具有静态类型,但通常感觉灵活且动态。例如,得益于类型推断,你可以编写如下代码,而无需显式指定变量类型

val a = 1
val b = 2.0
val c = "Hi!"

这使得代码感觉是动态类型的。得益于新特性(如 Scala 3 中的 联合类型),你还可以编写如下代码,非常简洁地表达了哪些值作为参数预期,以及返回哪些类型

def isTruthy(a: Boolean | Int | String): Boolean = ???
def dogCatOrWhatever(): Dog | Plant | Car | Sun = ???

正如示例所示,使用联合类型时,类型不必共享一个公共层次结构,你仍然可以将它们作为参数接受或从方法中返回它们。

如果你是一名应用程序开发人员,你每天都会使用类型推断等特性,每周都会使用泛型。当你阅读类和方法的 Scaladoc 时,你还需要对协变有一定的了解。希望你会发现使用类型相对简单,并且还为库开发人员提供了很多表现力、灵活性和控制力。

类型的优点

静态类型编程语言提供了许多优点,包括

  • 帮助提供强大的 IDE 支持
  • 在编译时消除许多类型的潜在错误
  • 协助重构
  • 提供强有力的文档,由于经过类型检查,因此不会过时

引入 Scala 类型系统的特性

鉴于此简要介绍,以下部分概述了 Scala 类型系统的特性。

此页面的贡献者