Scala簡介及該注意的基本小知識點
一、Scala簡介及其特點
Scala是一門混合了函式式和麵向物件的語言,擁有以下特徵:
1、擁有基於事件的併發模型
2、既支援命令式、也支援函式式
3、純物件導向(所有型別都是物件)
4、可以很好的與Java結合
5、強制使用自適應靜態型別
二、注意的基本知識點
1、var和val
不變性指的是變數本身,而不是變數所引用的例項。比如:val buffer=new StringBuffer(),就不能把buffer指向其他的引用了,但是buffer內容可以變
注意:儘量優先使用val,可以提升不變性和函式式風格
2、to()和until()方法
to不包含上界,until()包含
3、foreach()
(1 to 3).foreach(i => print(i +","))
Range類的foreach()方法,接受一個函式值作為引數。=>將左邊的引數列表和右邊的實現分離開來
4、富封裝類
1 to 3實際上是1.to(3),當Scala確定Int無法滿足要求時,就會自動應用intWrapper()方法把Int轉換為scala.runtime.RichInt,然後呼叫它的to()方法。像這樣的還有RichInt,RichDouble,RichBoolean
注意:Int相當於Java的int
5、方法的點和括號
如果方法有0或者1個引數,電荷括號可以丟掉。如:1.to(3)可以寫成1 to 3
6、元組元素可以同時賦給多個變數
val(fName,lName,email)=("fan","wang","19055@qq.com")
也可以這樣賦值:
val value=("fan","wang","19055@qq.com")
此時可以這樣訪問元素:value._1,value._2
7、使用"""....“”“建立多行字串
8、==是基於值的比較,eq()基於身份的比較
9、scala預設的類、欄位、方法都是public,用protected修飾的成員只對本類及派生類可見,同一個包類的其他類無法訪問
10、對於使用了return的方法,就需要顯示提供返回型別;最好避免使用return語句,讓編譯推演返回型別
11、傳遞變引數
//離散的實參
def sum(values:Int*)=values.foldLeft(10){_+_}
println(sum(2,3,5))//輸出20
//陣列做實參(:_*將陣列展開成離散值)
val numbers=Array(2,3,5)
println(sum(numbers:_*))
相關文章
- 圖片的基本知識點
- 彙編必知小知識點及常用debug命令
- VEEAM的小知識點
- C++基本知識點C++
- logstash簡介及基本操作
- 【Clojure 基本知識】小技巧s
- js小知識點JS
- mongo 小知識點Go
- 前端小知識點前端
- java小知識點Java
- 小知識點1
- 記錄的小知識點
- Scala 簡介 [摘自 Scala程式設計 ]程式設計
- 執行緒基本知識點執行緒
- 回溯法應該知道的知識點
- iOS CocoaPods簡介及基本使用iOS
- Python基礎入門知識點——if 語句簡介Python
- 浮點數小知識點
- 簡單小結密碼學入門知識點密碼學
- 總結的小知識點(一)
- 【JAVA】- 知識點小結Java
- promise知識點小結Promise
- ElasticSearch知識點小記Elasticsearch
- makefile 知識點小結
- CSS基礎知識簡介CSS
- Linux簡單知識點Linux
- 圖片基礎知識及不同格式的特點介紹
- 你應該知道的緩動知識點
- 初識python你應該知道的6個知識點!Python
- Java基礎知識篇——Java基本介紹Java
- Python 中不易懂的小知識點Python
- 前端(js html)小知識點前端JSHTML
- 前端小知識點彙總前端
- Python小知識點隨筆Python
- 前端小知識10點(2019.5.2)前端
- 前端小知識10點(2019.4.14)前端
- node知識點小結(一)
- Cocos Creator 3.8.x bundle注意知識點
- react-native基本知識點(4/4)React