Scala "Hello,world!" 程序

"Hello, world!" 程序

首先咱們使用標準的 「Hello, world!」 程序來演示一下 Scala 的簡單使用java

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***。這個實例在第一次使用的時候建立。shell

細心的讀者可能會注意到 main 方法沒有聲明爲 static。這是由於 Scala 中不存在靜態的成員(方法或字段)。Scala 程序員在單例對象中聲明這些成員, 而不是定義靜態成員。數組

交互式地運行 "Hello, world!" 程序

在命令行中輸入 scala 命令並按下回車鍵, 便可啓動 Scala 解釋器, 從而能夠交互式地解釋 Scala 表達式。bash

scala shell

上面實際發生了兩件事情: 一、HelloWorld 程序被編譯成了字節碼; 二、字節碼由 Java 虛擬機執行。函數

快捷鍵 :q 是內部 shell 命令 :quit 的簡寫, 它用來退出解釋器。ui

編譯和運行 "Hello, world!" 程序

####一、編譯 scalac 命令能夠編譯一個或多個 Scala 源文件並生成能夠在任何標準的 JVM 上執行的 Java 字節碼。Scala 編譯器工做方式和 Java SDK 的編譯器 javac 相似。spa

將上述 "Hello, world!" 程序保存到文件 HelloWorld.scala 中, 而後使用下面的命令編譯它:插件

scalac HelloWorld.scala

scalac 編譯生成的字節碼文件默認放置在當前工做目錄下。你可使用 -d 選項來指定不一樣的輸出目錄。命令行

scalac -d /Users/jackiehff HelloWorld.scala

編譯後生成的文件有兩個:

HelloWorld$.class
HelloWorld.class

至於爲何會生成有兩個文件,後面再寫文章詳述, 這裏再也不深究。

####二、運行 可使用帶有合適選項的 scala 命令執行生成的字節碼

scala -classpath . HelloWorld

最後會輸出指望的結果: Hello, world!。

腳本方式運行 "Hello, world!" 程序

也能夠將 "Hello, world!" 程序做爲一個 shell 腳本或是 批處理命令運行。bash shell 腳本 HelloWorld.sh 包含下面的 Scala 代碼以及 shell 序言

HelloWorld Script

而後直接從命令行解釋器中運行:

sh HelloWorld.sh

最後也會輸出指望的結果: Hello, world!。

IntelliJ IDEA 中運行 "Hello, world!" 程序

首先,在 IntelliJ IDEA 中安裝 Scala 插件:

IDEA Scala Plugin

在 IntelliJ IDEA 中建立一個 Scala 項目,而後建立 HelloWorld.scala 並運行:

IDEA HelloWorld

##Scala Worksheet

使用Scala Worksheet的好處是: 在 IntelliJ IDEA中也能夠交互式地編譯運行 Scala 代碼。

Scala Worksheet

相關文章
相關標籤/搜索