Scala入門教程 (一)

窗邊的扁豆發表於2017-11-25

Scala入門教程

[TOC]

Scala是神馬?

  • 說的正式點,Scala是一種多正規化的程式語言,其將物件導向程式設計與函數語言程式設計的特性結合了起來。並且Scala同Java一樣都執行在Java虛擬機器之上,經過編譯之後都生成的是class位元組碼檔案,所以scala同樣具有跨平臺的特性,可以做到一次編寫,到處執行。
  • 說的通俗點,Scala是一種很有逼格的語言,具有優雅,簡潔,速度等優點,對於猿圈的我們來說,還有什麼比裝逼更能吸引我們的呢?在深入瞭解後就會發現,很多在Java中的遺憾在scala中都有很好的實現。大名鼎鼎的Spark底層就是用scala實現的,如果你想好好深入瞭解這個大資料框架,那麼一定要好好學習這門語言。

Scala的安裝

​ 前面已經說到過,Scala是執行在JVM上,所以要想執行我們的程式,首先需要確保我們的電腦上已經安裝好了JDK,這個直接在oracle的官網上就有,現在最新的已經是JDK9了。

​ 安裝完執行環境,接下來就是安裝Scala的編譯器了,Scala的編譯器將Scala原始碼編譯為class位元組碼檔案,然後就像執行Java的位元組碼那樣在JVM中執行。

  • Windows上安裝Scala編譯器

    直接登陸scala的官網進入下載,下載windows的安裝包

    image.png
    image.png

  • 在Linux中安裝scala

    下載上面截圖中scala-sources-2.12.4.tar.gz的那個,解壓到Linux中你喜歡的目錄

    tar -zxvf scala-2.10.6.tgz -C /usr/share/local複製程式碼

    配置環境變數,用vim編輯器編輯/etc/profile檔案

    export JAVA_HOME=/usr/share/local/jdk
    export PATH=$PATH:$JAVA_HOME/bin:/usr/share/local/scala/bin複製程式碼

    編輯儲存後不要忘了source一下,使環境變數立即生效

    source  /etc/profile複製程式碼

寫個HelloWorld測試下吧

  • 按照國際慣例,學習任何一門語言首先都要寫個HelloWorld,就像新店開張的剪彩儀式一樣。我們先新建一個Hello.scala檔案。內容如下:

    object Hello{
        def main(args: Array[String]) {
            println("Hello World!")
        }
    }複製程式碼

    類似於Java的main函式,不過語法看上去有點區別,細心的小夥伴也許會發現,這裡每句程式碼結束居然沒有;分號結束,這就是Scala的極簡原則,能少寫絕不多謝,當然寫了也不會有問題的。

    編譯原始檔:

    scalac ./Hello.scala複製程式碼

    這時候該目錄下就會生成Hello.class檔案,接下類執行:

    scala Hello複製程式碼

    image.png
    image.png

    出現如下結果就說明執行成功了。接下來就一起來開啟Scala的異世界大門吧。

  • 相信對Java有一定了解的小夥伴都瞭解class檔案是可以被反編譯為Java程式碼的,那麼Scala生成的class檔案可不可以反編譯為Java檔案呢?當然是可以的呀:

    import scala.reflect.ScalaSignature;
    public final class Hello
    {
      public static void main(String[] paramArrayOfString)
      {
        Hello..MODULE$.main(paramArrayOfString);
      }
    }複製程式碼

    上面就是通過Decompiler反編譯後的結果,所以這是沒問題的,事實上scala和java幾乎是可以無縫對接的,在scala中可以直接引用Java中的物件,所以在scala是可以使用Java非常豐富的第三方框架的,這裡之後也會介紹的。

Scala的開發工具

  • 工欲善其事,必先利其器。要想開發一個大型專案的話,我們總不能一直在文字編輯器中寫程式碼吧(大佬的話可以忽略這個),一般我們習慣在IDEA中開發,在安裝完IDEA之後,再安裝一個scala的外掛就可以了,簡單方便快捷。

    image.png
    image.png

    外掛的名字就叫scala,直接搜尋並安裝就ok了。

    接下來就像剛才那樣寫一個HelloWorld就Ok了:

    image.png
    image.png

總結

​ Ok,入門教程就差不多了。之後就詳細介紹 Scala的更多基礎以及高階用法。感興趣的小夥伴可以關注我的微信公眾號,會在第一時間更新。

img
img