Scala學習筆記1--基礎語法

scala基礎語法


val和var

val和var都可以定義變量。val定義不變量,var定義變量

to和until

to和until都是RichInt的方法,返回一個Range的實例。1 to 3等價於1.to(3)

點和括號是可選的。在scala中,如果方法有0個或1個參數,則點號可以丟點。

foreach

(1 to 3).foreach( i => print(i + ",") )

元祖

元祖是一個不變對象序列,用逗號分隔符創建,元祖支持多重賦值,可以通過 _1, _2的語法訪問元祖元素

val info = ("louis" , "shanghai")
val (name, address) = info
print(info._1)
print(info._2)

字符串RichString和here document

scala字符串與java中的String相對應,另外scala提供了RichString類包含capitalize()、lines()和reverse()等便捷方法。scala使用三個雙引號創建多行原始字符串(here document)

注意“sos”.reverse()==”sos”結果是false,
“sos”.reverse().toString()==”sos”是true。

Scala的默認選項

  1. scala支持腳本
  2. return是可選的,默認返回最後一行表達式的值
  3. 分號是可選的
  4. 不強制捕獲異常
  5. 默認導入java.lang,scala,scala.Predef等包

運算符

scala的運算符實際上是方法名,方法名的第一個字符決定了它的優先級

如果方法名以冒號(:)結尾,Scala會調換方法調用的參數

scala與java的差異

  1. scala的賦值結果是Unit,因此不能出現 a = b = c這樣的運算
  2. scala的==運算表示值的比較,eq()函數表示引用比較
  3. scala中分號是可選的,但在{前一定要加上分號
  4. scala默認修飾符是public
  5. 用protected修飾的成員只對本類及派生類可見
  6. scala使用[]控制修飾符的訪問粒度,例如private[類名]
  7. scala中如果使用了return就需要顯示提供返回值的類型,應儘量避免顯示return,而讓scala編譯推演返回類型
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章