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的安裝包
在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複製程式碼
出現如下結果就說明執行成功了。接下來就一起來開啟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的外掛就可以了,簡單方便快捷。
外掛的名字就叫scala,直接搜尋並安裝就ok了。
接下來就像剛才那樣寫一個HelloWorld就Ok了:
總結
Ok,入門教程就差不多了。之後就詳細介紹 Scala的更多基礎以及高階用法。感興趣的小夥伴可以關注我的微信公眾號,會在第一時間更新。