Scala學習過程筆記

2021-08-20 09:08:40 字數 871 閱讀 6877

1:for迴圈中 i until j 的區間是[ i , j )。 

2:建立多個字串;

在scala中可以三引號建立多行字串,例如:

val str = ''' 建立

多行字串'''

但是這樣建立的話,輸出的字串也就是沒有對齊的,所以可以使用乙個官方推薦的方法,就是stripmargin方法,但是第二行後的每一行必須以|開頭,如果不想使用" | "的話,也可以使用任意字元,不過需要在stripmargin方法中加入該字元作為引數,如果想將多行歸併到同一行的話,只需要在stripmargin後面加上replace("\n"," "),即可,也就是把每一行後面的換行符換成乙個空格.

使用三引號建立多行字串還有乙個好處,就是可以包容字串本身的單引號和雙引號,這樣就免去轉義的麻煩.

3:yield:yield一般是在迴圈語句後加的,它的作用是將每一次迴圈的結果暫放在乙個臨時的存放區里,當迴圈結束後,將這個臨時存放區的所有元素一乙個集合的方式返回.

4;getorelse():如果本方法前面的方法成功呼叫,則返回前方法的值,如果前方法沒有返回值,呼叫失敗,則返回該方法的值作為預設值.

5:val 不可變性只是說引用位址不能變,但是引用位址的物件本身內容可以改變,當然,這需要物件本身是個可變的.

6:_$eq方法:在對類中變數進行改變的時候,我們通常只需要寫例如:p.name = "wang";但這其實是scala的語法糖,通過反編譯就知道其實在底層呼叫的是name_$eq方法,而我們在**中直接寫p.name_$eq("wang")其實也是可以的,它和p.name="wang"是等價的.

7:父類子類公用的引數,不要設定為var

8:集合的.indices是指返回乙個range從0到length-1

Scala學習筆記

scala學習筆記 一.scala中集合的常用方法 首先定義兩個陣列集合,用於測試 scala val arr1 array 1,2,3,4 arr1 array int array 1,2,3,4 scala val arr2 array 3,4,5,6 arr2 array int array ...

Scala學習筆記

1 閉包 var a 3 var addfun x int x a var b addfun 10 println b addfun 就是個和物件無關的函式,區域性變數,使用方法和函式一樣,但是好像不推薦這種寫法。2 類的建立,簡單使用abstract class bparent 構造函式引數會自動...

Scala 學習筆記

object a val u fab 15,list 1,1 val f p int print p t 變長引數 def sum nums int int int def main args array string unit def f p int int print f 4 object ab...