Scala基础入门
Scala这个名字来源于“scalable language”,即“可伸缩的语言”。之所以这样命名,是因为它的设计目标随着用户的需求一起成长。Scala可被广泛应用于各种编程任务,从编写小型的脚本到构建巨型系统,它都能胜任。
为什么选择Scala
Scala 是一门满足现代软件工程师需求的语言;它是一门静态类型语言,支持混合范式;它也是一门运行在 JVM 之上的语言,语法简洁、优雅、灵活。Scala 拥有一套复杂的类型系统,Scala 方言既能用于编写简短的解释脚本,也能用于构建大型复杂系统。这些只是它的一部分特性,下面我们来详细说明。
- 运行在 JVM 和 JavaScript 之上的语言 Scala 不仅利用了 JVM 的高性能以及最优化性,Java 丰富的工具及类库生态系统也为其所用。不过 Scala 并不是只能运行在 JVM 之上! Scala.js(http://www.scala-js.org )正在尝试将其迁移到 JavaScript 世界。
- 静态类型 在 Scala 语言中,静态类型 (static typing)是构建健壮应用系统的一个工具。Scala 修正了 Java 类型系统中的一些缺陷,此外通过类型推演(type inference)也免除了大量的冗余代码。
- 混合式编程范式——面向对象编程 Scala 完全支持面向对象编程 (OOP)。Scala 引入特征 (trait)改进了 Java 的对象模型。trait 能通过使用混合结构 (mixin composition)简洁地实现新的类型。在 Scala 中,一切都是对象,即使是数值类型。
- 混合式编程范式——函数式编程 Scala 完全支持函数式编程 (FP),函数式编程已经被视为解决并发、大数据以及代码正确性问题的最佳工具。使用不可变值、被视为一等公民的函数、无副作用的函数、高阶函数以及函数集合,有助于编写出简洁、强大而又正确的代码。
- 复杂的类型系统 Scala 对 Java 类型系统进行了扩展,提供了更灵活的泛型以及一些有助于提高代码正确性的改进。通过使用类型推演,Scala 编写的代码能够和动态类型语言编写的代码一样精简。
- 简洁、优雅、灵活的语法 使用 Scala 之后,Java 中冗长的表达式不见了,取而代之的是简洁的 Scala 方言。Scala 提供了一些工具,这些工具可用于构建领域特定语言 (DSL),以及对用户友好的 API 接口。
安装和配置
scala 安装 https://www.scala-lang.org/
检验Scala是否安装成功。
scala -version
Welcome to Scala 2.13.10 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_201).
Type in expressions for evaluation. Or try :help.
Hello World
以下是用 Scala 编写的典型 Hello World 程序:
object HelloWorld {
def main(args: Array[String]): Unit = {
println("Hello, world!")
}
}
将以上代码保存为 HelloWorld.scala 文件,执行以上 scala 程序:
$ scalac HelloWorld.scala // 把源码编译为字节码
$ scala HelloWorld // 把字节码放到虚拟机中解释运行