Scala 开发 | 01 - Scala Quickstart

121 阅读3分钟

一、认识 Scala

Scala 语言的名称来自 Scalable,即扩展的。Scala 语言被设计成为可以随着使用者的需求而扩展。

Scala 运行在 JVM 上,可以与 Java 库无缝衔接,可以用来编写脚本也可以用来构建大型系统。

Scala 是一种类型优雅的语言,它是静态类型的,但是仅在需要的地方显式的定义类型。Scala 从面向对象和函数式语言两方面获得了强大的特性,然后用全新的理念将它们完美的整合成一个整体。

Scala 具有以下特点:

  • Scala 是兼容的,Scala 程序会被编译成 JVM 字节码,且运行时的性能与 Java 不相上下,Scala 可以调用 Java 方法,访问 Java字段,继承 Java 类和实现 Java 接口,这些都不需要特别的语法就可以实现。

  • Scala 是简洁的,Scala 程序一般都很短,相同的功能 Scala 代码要比 Java 代码少一半左右。Scala 的语法避免了一些束缚 Java 程序的固定写法,比如 Scala 程序中分号是可选的,Scala 中含有类型推断,重复的类型信息可以被忽略。

    在 Java 中和 Scala 中定义一个类的代码如下:

    class Coffee {
        private String name;
        private float price;
    
        public Coffee (String name, float price) {
            this.name = name;
            this.price = price
        }
    }
    
    class Coffee(name:String, price:Float)
    

    Scala 中只需要一行代码就可以完成。

  • Scala 是高级的,Scala 可以通过夯筑提升接口的抽象级别来帮助管理复杂性。

  • Scala 是静态类型的,Scala 是一种具有非常高级的静态类型系统的语言。它以 Java 内嵌类型系统为基础,允许使用泛型参数化类型,使用交集组合类型及抽象类型隐藏类型细节。

二、Scala 解释器

Scala 提供了一个交互式的解释器,只要在解释器中输入表达式,它就能计算并打印结果值,Scala 的交互式 shell 叫做 scala,安装 Scala 之后在命令行输入 scala 即可进入解释器中;

$ scala
Welcome to Scala 2.12.14 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_261).
Type in expressions for evaluation. Or try :help.

scala> 2 + 3
res0: Int = 5

scala> 

运行输出的信息依次为:

  • 自动产生的或者用户定义的名称说明计算的值(res0,表示第一个结果)
  • 冒号(:)及表达式的类型(Int)
  • 等号(=)
  • 表达式计算的结果(3)

Int 类型代表 scala 包中的 Int 类,scala 的包与 Java 的包类似,都可以对全局命名空间进行分区并提供了信息隐藏机制。

所有的 Java 类在 scala 包中都有对应的类,scala.Boolean 对应 Java 中的 boolean,scala.Float 对应 Java 中的 float。

在 Scala 代码编译成 字节码的时候,Scala 编译器会使用 Java 的原始类代替以优化性能。

解释器中返回的 res0 是一个变量名,存储了结果数据,也可以在后续代码中使用;

scala> res0 * 10
res1: Int = 50

println 函数可以输出字符串,与 Java 中的 System.out.println 一样;

scala> println("Hello,Scala World")
Hello,Scala World

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第2天,点击查看活动详情