Scala(Scala Programming Language)是一種多范式的編程語言,設計初衷是要集成面向對象編程和函數式編程的各種特性,Scala 運行在Java虛擬機上,并兼容現有的Java程序,它具有高階類型、不變對象、模式匹配、多重繼承,宏等等等等你們認為十分炫酷的功能,有喜歡學習編程的朋友可以下載試試。
Scala功能介紹
無縫Java互操作
Scala運行在JVM上,因此Java和Scala堆??梢宰杂苫旌?,實現完全無縫的集成。
類型推斷
所以類型系統感覺不那么靜態。不要為類型系統工作。讓類型系統為您工作!
并發與分發
對集合使用數據并行操作,對并發和分發使用actors,或者對異步編程使用future。
特點
結合Java風格接口的靈活性和類的強大功能。想想有原則的多重繼承。
模式匹配
想想類固醇的“開關”。與類層次結構、序列等匹配。
高階函數
函數是一級對象。以保證類型安全的方式組合它們。把它們用在任何地方,傳遞給任何人。
Scala安裝方法
下載Scala官方版的壓縮包,解壓后,雙擊msi文件,進入安裝界面,點擊next
查看軟件協議,選擇i accept...,點擊next
設置軟件安裝位置,點擊browse可以自由設置,建議大家選擇安裝在D盤,然后點擊next
確認安裝信息,點擊install
Scala官方版正在安裝,我們耐心等待
軟件安裝成功,點擊finish
接下來需要配置Scala的環境變量,需要提醒一下在安裝Scala之前需要安裝jdk,并且配置JDK的環境變量。我們看一下本地安裝完成后的目錄,如下圖所示。
最后我們配置Scala的環境變量,這臺電腦-->右鍵“屬性”-->高級系統設置-->環境變量,我們選擇Path環境變量,并點擊“編輯”按鈕,我們將上圖看到的Scala安裝目錄下的bean目錄配置到Path環境變量中即可。
安裝完成后我們需要檢驗是否安裝成功,Win+R打開命令行,輸入 scala -version,若出現Scala的版本信息則說明安裝成功,如下圖所示。
使用方法
使用Scala實現文件的拷貝
讀取行:要讀取文件的所有行,可以調用scala.io.Source對象的getLines方法:也可以對getLines應用toArray或toBuffer方法。
將這些行放到數組或緩沖當中,將文件內容讀成一個字符串:val lines = source.mkString。
讀取字符:要從文件中讀取字符,可以直接把Source對象當做迭代器:如果想查看某個字符,但是不處理掉的話,調用source對象的buffered方法。
讀取詞法單元或數字:通過split方法對轉化成行的文件內容進行劃分,通過toInt或toDouble方法把字符轉化成整數或浮點數。
寫入文本:Scala沒有內建的對寫入文件的支持,要寫入文本文件,可以使用java.io.PrintWriter.
值得一提的是FileChannel在使用前,必須要打開。需要通過InputStream/OutputStream/RandomAccessFile獲取,BufferedReader/BufferedWriter獲取不到。
Scala編程語言有哪些優缺點?
Scala提供了幾乎你能想到的所有編程語言特性:
快速實驗: Scala有交互式命令行(REPL), 可以在上面快速的試各種語法和代碼。這對學習新特性,或者實驗新想法非常有用。(第1章)
一致性: 盡管Scala融合了靜態類型系統、面向對象、函數式編程等語言特性,但卻很少能看出融合的痕跡。Scala是我見到融合最多語言特性而又不顯得雜亂的編程語言之一。
類型安全:Scala創始人是教授,他先帶領創建了Java 5編譯器,而后覺得Java有太多羈絆而發明了Scala。 Scala編譯器和類型系統非常強大,它的目標是盡量把軟件錯誤消滅在編寫過程中。 Scala類型系統是圖靈完備的,甚至可以在編譯期間解決問題。
面向對象: Scala是面向對象的編程語言,所有的變量和方法都封裝在對象中,可以把信息封裝起來供外部使用。(第2章)
函數式編程:Scala同時又是函數式編程語言,函數可以獨立存在,可以定義一個函數作為另一個函數的返回值,也可以接受函數作為函數的參數。這給組合函數帶來了很大的便利。如何把面向對象編程形容成搭積木的話,函數式編程就像拼線條,更靈活和更有創意。(第3章)
異步編程: 由于函數式編程提倡變量不可變,使異步編程變得非常容易。同時Scala提供的Future(第5章), 和akka類庫(第9-11章),使得異步編程變得非常容易。
基于JVM: Scala會被編譯成為jvm bytecode,所以Scala能無縫集成已有的Java類庫。你可以非常自然的使用已經存在的非常龐大且穩定的Java類庫,比如小巧好用的apache.common.*, 或者Java上的各種工具類庫。
因為如此眾多特性,用Scala可以優雅地編寫簡潔的代碼,同時又能減少很多低級錯誤;能快速進行開發,又能保證系統性能、團隊協作和長期維護。