"Hello, world!" 程序
首先我们使用标准的 “Hello, world!” 程序来演示一下 Scala 的简单使用
object HelloWorld {
def main(args: Array[String]): Unit = {
println("Hello, world!")
}
}
这个程序的结构对于 Java 程序员来说应该比较熟悉: 程序由 main 方法组成, 它使用命令行参数即一个字符串数组作为参数; main 方法体由一个对预定义函数 println 的简单调用组成, println函数使用 “Hello, world!” 作为参数, 最终结果会将 “Hello, world!” 打印输出到标准输出。main 方法没有返回值 (它是一个过程函数). 因此没有必要声明一个返回值类型。
而对于 Java 程序员来说不那么熟悉的是 object 声明包含了 main 方法。 这样一种声明介绍通常被称为一个单例对象, 即一个只有单个实例的类。因此*** object 声明既声明了一个叫做 HelloWorld 的类, 又声明了这个类的一个实例, 它也叫做 HelloWorld***。这个实例在第一次使用的时候创建。
细心的读者可能会注意到 main 方法没有声明为 static。这是因为 Scala 中不存在静态的成员(方法或字段)。Scala 程序员在单例对象中声明这些成员, 而不是定义静态成员。
交互式地运行 "Hello, world!" 程序
在命令行中输入 scala 命令并按下回车键, 即可启动 Scala 解释器, 从而可以交互式地解释 Scala 表达式。
上面实际发生了两件事情: 1、HelloWorld 程序被编译成了字节码; 2、字节码由 Java 虚拟机执行。
快捷键 :q 是内部 shell 命令 :quit 的简写, 它用来退出解释器。
编译和运行 "Hello, world!" 程序
####1、编译 scalac 命令可以编译一个或多个 Scala 源文件并生成可以在任何标准的 JVM 上执行的 Java 字节码。Scala 编译器工作方式和 Java SDK 的编译器 javac 类似。
将上述 "Hello, world!" 程序保存到文件 HelloWorld.scala 中, 然后使用下面的命令编译它:
scalac HelloWorld.scala
scalac 编译生成的字节码文件默认放置在当前工作目录下。你可以使用 -d 选项来指定不同的输出目录。
scalac -d /Users/jackiehff HelloWorld.scala
编译后生成的文件有两个:
HelloWorld$.class
HelloWorld.class
至于为什么会生成有两个文件,后面再写文章详述, 这里不再深究。
####2、运行 可以使用带有合适选项的 scala 命令执行生成的字节码
scala -classpath . HelloWorld
最后会输出期望的结果: Hello, world!。
脚本方式运行 "Hello, world!" 程序
也可以将 "Hello, world!" 程序作为一个 shell 脚本或是 批处理命令运行。bash shell 脚本 HelloWorld.sh 包含下面的 Scala 代码以及 shell 序言
然后直接从命令行解释器中运行:
sh HelloWorld.sh
最后也会输出期望的结果: Hello, world!。
IntelliJ IDEA 中运行 "Hello, world!" 程序
首先,在 IntelliJ IDEA 中安装 Scala 插件:
在 IntelliJ IDEA 中创建一个 Scala 项目,然后创建 HelloWorld.scala 并运行:
##Scala Worksheet
使用Scala Worksheet的好处是: 在 IntelliJ IDEA中也可以交互式地编译运行 Scala 代码。
来源:oschina
链接:https://my.oschina.net/u/941605/blog/700673