斯卡拉之旅

Introduction

Language

Welcome to the tour

此导览包含对Scala最常用功能的详细介绍. 它是为该语言的新手准备的.

这只是一个简短的导览,而不是完整的语言教程. 如果需要,请考虑获取书籍或咨询其他资源 .

What is Scala?

Scala是一种现代的多范式编程语言,旨在以简洁,优雅和类型安全的方式表达常见的编程模式. 它平稳地集成了面向对象和功能语言的功能.

Scala is object-oriented

每个值都是一个对象的意义上讲,Scala是一种纯粹的面向对象的语言. 对象的类型和行为通过特征来描述. 通过子类和灵活的基于mixin的组合机制扩展类,以替代多个继承.

Scala is functional

每个功能都是一个值的意义上讲,Scala也是一种功能语言. Scala提供了用于定义匿名函数的轻量级语法 ,它支持高阶函数 ,它允许嵌套函数,并支持currying . Scala的case类及其对许多功能编程语言中使用的模式匹配模型代数类型的内置支持. 单例对象提供了一种方便的方法来对不是类成员的函数进行分组.

此外,Scala的模式匹配概念自然地扩展到了XML数据处理,借助于忽略对象序列模式 ,这是通过提取器对象的一般扩展. 在这种情况下, 理解对于制定查询很有用. 这些功能使Scala非常适合开发Web服务等应用程序.

Scala is statically typed

Scala的表达类型系统在编译时强制以安全且一致的方式使用抽象. 特别是,类型系统支持:

类型推断意味着不需要用户使用冗余类型信息来注释代码. 这些功能结合在一起,可以为安全地重用编程抽象和为软件提供类型安全的扩展提供强大的基础.

Scala is extensible

在实践中,特定于域的应用程序的开发通常需要特定于域的语言扩展. Scala提供了一种独特的语言机制组合,可以轻松地以库的形式平滑地添加新的语言结构.

在许多情况下,无需使用宏等元编程工具即可完成此操作. 例如,

Scala interoperates

Scala旨在与流行的Java Runtime Environment(JRE)良好地互操作. 特别是,与主流的面向对象的Java编程语言的交互尽可能地顺畅. 较新的Java功能(例如SAM, lambda注解泛型)在Scala中具有直接类似物.

这些没有Java类似物的Scala功能(例如默认 参数命名参数)会在合理范围内尽可能接近Java进行编译. Scala与Java具有相同的编译模型(单独的编译,动态的类加载),并允许访问成千上万的现有高质量库.

Enjoy the tour!

请继续浏览目录菜单中的下一页以了解更多信息.

Contributors to this page:

by  ICOPY.SITE