Scala變量
變量是隻不過是保留內存位置來存儲值。這意味著,當創建一個變量,會在內存中保留一些空間。
基於變量的數據類型,所述編譯器分配存儲器,並決定什麼可以被存儲在保留存儲器。因此,通過分配不同的數據類型的變量,可以存儲整數,小數,或字符在這些變量。
變量聲明
Scala的變量聲明有不同的語法,它們可以被定義為值,即,常量或變量。下麵是使用var關鍵字來定義一個變量的語法:
var myVar : String = "Foo"
在這裡,myVar使用關鍵字var聲明。這意味著它是一個可以改變值的變量,被稱為可變變量。下麵是使用val關鍵字來定義變量的語法:
val myVal : String = "Foo"
這裡,myVal是使用關鍵字val聲明。這意味著,它是不能改變的變量,這是所謂的不可變變量。
變量數據類型:
變量類型在變量名後麵指定,前在equals之前簽署。可以通過它的數據類型定義任何類型的Scala變量如下:
val or val VariableName : DataType [= Initial Value]
如果不指定任何初始值變量,那麼如下所示它是有效的:
var myVar :Int; val myVal :String;
變量類型推斷:
當分配一個初始值給一個變量,Scala編譯器可以計算出根據分配給它的值的變量類型。這就是所謂的變量類型推斷。因此,可以寫這些變量的聲明如下這樣:
var myVar = 10; val myVal = "Hello, Scala!";
在這裡,默認情況下,myVar是int類型,將設為myVal為字符串類型變量。
多重任務:
Scala支持多任務。如果一個代碼塊或方法返回一個元組,該元組可被分配給一個val變量。 [注:元組在以後的章節中學習。]
val (myVar1: Int, myVar2: String) = Pair(40, "Foo")
類型推斷得到正確類型:
val (myVar1, myVar2) = Pair(40, "Foo")
變量類型:
Scala變量可以有三種不同的範圍,這取決於它們正在使用的地方。它們可以存在於字段,方法參數和局部變量。下麵是關於每種類型的適用範圍的詳細信息:
字段:
字段是屬於一個對象的變量。該字段是從對象中的所有方法中訪問。字段也可以是具體取決於訪問修飾符字段與聲明的對象外訪問。對象字段既可以是可變的或不可變的類型,可以使用var 或 val兩種定義。
方法參數:
方法的參數是變量,其用於傳遞方法內的值在方法被調用時。方法參數被從方法唯一傳入,但傳遞的對象可從外麵,如果從外麵的方法有一個引用對象。方法參數始終是可變的並由val關鍵字定義。
局部變量:
局部變量是在方法內聲明的變量。局部變量隻能在方法中訪問,但可以訪問創建方法的對象(如果從方法中返回它們)。局部變量既可以是可變的或不可變的類型,可以使用var或val兩個關鍵字定義。