- Scala 教程
- Scala - 首页
- Scala - 概述
- Scala - 特性
- Scala - 环境搭建
- Scala - 构建工具 (SBT)
- Scala - 基本语法
- 数据类型和变量
- Scala - 数据类型
- Scala - 变量
- Scala - 字符串
- Scala - 数组
- Scala 运算符
- Scala - 运算符
- Scala - 算术运算符
- Scala - 关系运算符
- Scala - 逻辑运算符
- Scala - 位运算符
- Scala - 赋值运算符
- Scala 条件语句
- Scala - IF ELSE
- Scala 循环语句
- Scala - 循环语句
- Scala - while 循环
- Scala - do-while 循环
- Scala - for 循环
- Scala - break 语句
- Scala 类和对象
- Scala - 类和对象
- Scala - 访问修饰符
- Scala 方法和函数
- Scala - 函数
- Scala - 按名称调用函数
- Scala - 带命名参数的函数
- Scala - 带变长参数的函数
- Scala - 递归函数
- Scala - 默认参数值
- Scala - 高阶函数
- Scala - 嵌套函数
- Scala - 匿名函数
- 部分应用函数
- Scala - 柯里化函数
- Scala 集合
- Scala - 集合
- Scala - 列表
- Scala - 集合
- Scala - 映射
- Scala - 元组
- Scala - 迭代器
- Scala - Option
- Scala 模式匹配
- Scala - 模式匹配
- Scala - 异常处理
- Scala - 提取器
- Scala - 正则表达式
- Scala 文件 I/O
- Scala - 文件 I/O
- Scala 高级概念
- Scala - 闭包
- Scala - 特质
- Scala 有用资源
- Scala - 快速指南
- Scala - 在线编译器
- Scala - 有用资源
- Scala - 讨论
Scala - 概述
Scala(Scalable Language 的缩写)是一种混合函数式编程语言。它由 Martin Odersky 创建。Scala 平滑地集成了面向对象和函数式语言的功能。Scala 编译后可在 Java 虚拟机上运行。许多依赖 Java 进行业务关键应用程序的现有公司正在转向 Scala 以提高其开发效率、应用程序可扩展性和整体可靠性。
这里我们列举了一些使 Scala 成为应用程序开发者首选的原因。
Scala 是面向对象的
Scala 是一种纯粹的面向对象语言,因为每个值都是一个对象。对象类型和行为由类和特质描述,这些将在后续章节中解释。
类通过子类化扩展,并且一个灵活的基于 mixin 的组合机制作为多重继承的干净替代。
Scala 是函数式的
Scala 也是一种函数式语言,因为每个函数都是一个值,每个值都是一个对象,所以最终每个函数都是一个对象。
Scala 提供了轻量级的语法来定义匿名函数,它支持高阶函数,允许函数嵌套,并支持柯里化。这些概念将在后续章节中解释。
Scala 是静态类型的
与其他一些静态类型语言(C、Pascal、Rust 等)不同,Scala 不需要您提供冗余的类型信息。在大多数情况下,您不必指定类型,当然也不必重复。
Scala 运行在 JVM 上
Scala 编译成 Java 字节码,由 Java 虚拟机 (JVM) 执行。这意味着 Scala 和 Java 具有共同的运行时平台。您可以轻松地从 Java 切换到 Scala。
Scala 编译器将您的 Scala 代码编译成 Java 字节码,然后可以通过 'scala' 命令执行。'scala' 命令类似于 java 命令,它执行您编译后的 Scala 代码。
Scala 可以执行 Java 代码
Scala 使您可以使用所有 Java SDK 类以及您自己的自定义 Java 类或您喜欢的 Java 开源项目。
Scala 可以进行并发和同步处理
Scala 允许您以有效的方式表达一般的编程模式。它减少了代码行数,并帮助程序员以类型安全的方式编写代码。它允许您以不可变的方式编写代码,这使得应用并发和并行(同步)变得容易。
Scala vs Java
Scala 拥有一套与 Java 完全不同的特性。其中一些是:
- 所有类型都是对象
- 类型推断
- 嵌套函数
- 函数是对象
- 领域特定语言 (DSL) 支持
- 特质
- 闭包
- 受 Erlang 启发的并发支持
Scala Web 框架
Scala 广泛应用于各个领域,尤其是在企业 Web 应用程序中。您可以查看一些最流行的 Scala Web 框架: