位置:首頁 > 高級語言 > Scala教學 > Scala變量

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兩個關鍵字定義。