Scala語言初步

2021-09-24 02:26:01 字數 1181 閱讀 9317

兩種型別的變數:val(常變數,類似於final)、varunit型別類似於void。

函式定義形式:

def func(para:type)

:type=

每個scala表示式都有返回結果,函式最後乙個表示式的值作為返回值(類似於matlab)

scala沒有i++++i,用()訪問陣列而不是,使用指定泛型引數而不是<>

scala的foreach迴圈:

// 第1種

args.foreach(arg=>println(arg)

)// 第2種

args.foreach(println)

// 第3種

for(arg<-args)

println(arg)

如果乙個方法只有乙個引數,你可以不用.()來呼叫這個方法。例如for迴圈:

for

(i <-

0 to 2

)

0 to 2等價於(0).to(2)1+2等價於(1).+(2)(類似於ruby)

list是不可修改的序列,::::連線兩個list,:::向list裡新增元素 (實際上是建立新list)

tuple與list都是不可修改的序列,tuple可以包含不同型別的資料,list只能包含同型別的資料

使用._訪問tuple的元素

set和map分mutable(可變的)和immutable(不可變的)型別

定義map:

val map = map(key1 -> value1, key2 -> value2)
scala使用_而不是*來引入多個類

Scala學習記錄 1 初識Scala語言

在網上安裝好scala後,配置相應環境變數,並在cmd頁面輸入 scala 後,會顯示歡迎資訊,並進入scala repl介面 注意 命令返回值時,repl會把它賦給乙個新的常量變數,從而可以在以後的運算中引用這個值。這些 res 變數會順序編號,因此總會有乙個唯一的容器來儲存命令的結果。同樣的,可...

Scala語言學習

def add x int,y int 此時沒有寫返回值,也沒有等號,無論函式內部有沒有返回值,返回值都是unit def add x int,y int def echo args string lazy val property initproperty lazy關鍵字修飾變數後,只有在使用該變...

C語言 正則初步

include include include int check const char buf regcomp pattern1,cflags status regexec buf,nmatch,pmatch,0 if status reg nomatch regcomp pattern2,cfl...