Spark 入門之 Scala 語言解釋及示例講解
Scala 語言衍生自 Funnel 語言。Funnel 語言嘗試將函數式編程和 Petri 網結合起來,而 Scala 的預期目標是將面向對象、函數式編程和強大的類型系統結合起來,同時讓人要能寫出優雅、簡潔的代碼。本文希望通過一系列 Java 與 Scala 語言編寫的相同程序代碼的對比,讓讀者能夠儘快地熟悉 Scala 語言。
安裝 Scala 並調試
首先,我們需要從官方網站下載最新的 Scala 運行包,官方網站的地址是 http://www.scala-lang.org/downloads,把下載的文件上傳到 Linux 伺服器並解壓,然後進入解壓後目錄的 bin 目錄,進入 Scala 編譯器環境,如清單 1 所示。
清單 1. 進入 Scala 編譯器
[root@localhost:4 bin]# ./scala
Welcome to Scala version 2.11.6 (OpenJDK 64-Bit Server VM, Java 1.7.0_65).
Type in expressions to have them evaluated.
Type :help for more information.
清單 1 顯示我們使用的是 64 位操作系統,JDK1.7。
在正式講解 Scala 之前,我們先來簡單了解一下它。Scala 是一種解釋性語言,可以直接翻譯,如清單 2 所示,我們讓 1 加上 3,編譯器會直接輸出整型 4。
......
Scala 簡介
Scala 是一種把面向對象和函數式編程理念加入到靜態類型語言中的語言,可以把 Scala 應用在很大範圍的編程任務上,無論是小腳本或是大系統都是用 Scala 實現。Scala 運行在標準的 Java 平台上,可以與所有的 Java 庫實現無縫交互。可以用來編寫腳本把 Java 控制項鏈接在一起。
函數式編程有兩種理念做指導,第一種理念是函數是第一類值。在函數式語言中,函數也是值,例如整數和字元串,它們的地位相同。您可以把函數當作參數傳遞給其他函數,當作結果從函數中返回或保存在變數里。也可以在函數里定義其他函數,就好像在函數里定義整數一樣。函數式編程的第二個主要理念是程序的操作符應該把輸入值映射到輸出值而不是就地修改數據。
Scala 程序會被編譯為 JVM 的位元組碼。它們的執行期性能通常與 Java 程序一致。Scala 代碼可以調用 Java 方法,訪問 Java 欄位,繼承自 Java 類和實現 Java 介面。實際上,幾乎所有 Scala 代碼都極度依賴於 Java 庫。
Scala 極度重用了 Java 類型,Scala 的 Int 類型代表了 Java 的原始整數類型 int,Float 代表了 float,Boolean 代表了 boolean,數組被映射到 Java 數組。Scala 同樣重用了許多標準 Java 庫類型。例如,Scala 里的字元串文本是 Java.lang.String,而拋出的異常必須是 java.lang.Throwable 的子類。
TAG:麥克叔叔每晚10點說 |