在Scala中,有三種方法可以定義變量:val,var和延遲 val。
Scala允許您在聲明它時(shí)決定變量是否是不可變的(只讀)。
使用關(guān)鍵字val
聲明不可變變量。
這意味著它是一個(gè)不能更改的變量。
下面的代碼創(chuàng)建一個(gè)名為x并賦值為10的值。
val x= 10
object Main { def main(args: Array[String]) { val x = 10 println(x*x ) } }
x被聲明為val,并且是一個(gè)不可變的變量,所以你不能重新賦值一個(gè)新的值到x。
現(xiàn)在讓我們聲明一個(gè)可變變量。
一個(gè)可變變量用關(guān)鍵字var
來(lái)聲明:
object Main { def main(args: Array[String]) { var y = 10 y = 11 println(y); } }
由于y是可變的,因此您可以將新值重新分配給y,但不能將該變量重新分配給其他類型。
定義Double類型的變量并賦值為Int值將會(huì)起作用,因?yàn)镮nt數(shù)字可以自動(dòng)轉(zhuǎn)換為Double數(shù)字:
var z =10.5 println(z);
延遲val變量計(jì)算一次,第一次訪問(wèn)變量。只有vals可以是惰性變量。
object Main { def main(args: Array[String]) { val x = 10e20 println(x); } }
更多建議: