Scala 變量

變量是一種使用方便的占位符,用于引用計(jì)算機(jī)內(nèi)存地址,變量創(chuàng)建后會(huì)占用一定的內(nèi)存空間。

基于變量的數(shù)據(jù)類型,操作系統(tǒng)會(huì)進(jìn)行內(nèi)存分配并且決定什么將被儲(chǔ)存在保留內(nèi)存中。因此,通過給變量分配不同的數(shù)據(jù)類型,你可以在這些變量中存儲(chǔ)整數(shù),小數(shù)或者字字母。

變量聲明

在學(xué)習(xí)如何聲明變量與常量之前,我們先來了解一些變量與常量。

  • 一、變量: 在程序運(yùn)行過程中其值可能發(fā)生改變的量叫做變量。如:時(shí)間,年齡。
  • 二、常量 在程序運(yùn)行過程中其值不會(huì)發(fā)生變化的量叫做常量。如:數(shù)值 3,字符'A'。

在 Scala 中,使用關(guān)鍵詞 "var" 聲明變量,使用關(guān)鍵詞 "val" 聲明常量。

聲明變量實(shí)例如下:

var myVar : String = "Foo"
var myVar : String = "Too"

以上定義了變量 myVar,我們可以修改它。

聲明常量實(shí)例如下:

val myVal : String = "Foo"

以上定義了常量 myVal,它是不能修改的。如果程序嘗試修改常量 myVal 的值,程序?qū)?huì)在編譯時(shí)報(bào)錯(cuò)。


變量類型聲明

變量的類型在變量名之后等號(hào)之前聲明。定義變量的類型的語法格式如下:

var VariableName : DataType [=  Initial Value]

或

val VariableName : DataType [=  Initial Value]

變量聲明不一定需要初始值,以下也是正確的:

var myVar :Int;
val myVal :String;

變量類型引用

在 Scala 中聲明變量和常量不一定要指明數(shù)據(jù)類型,在沒有指明數(shù)據(jù)類型的情況下,其數(shù)據(jù)類型是通過變量或常量的初始值推斷出來的。

所以,如果在沒有指明數(shù)據(jù)類型的情況下聲明變量或常量必須要給出其初始值,否則將會(huì)報(bào)錯(cuò)。

var myVar = 10;
val myVal = "Hello, Scala!";

以上實(shí)例中,myVar 會(huì)被推斷為 Int 類型,myVal 會(huì)被推斷為 String 類型。


Scala 多個(gè)變量聲明

Scala 支持多個(gè)變量的聲明:

val xmax, ymax = 100  // xmax, ymax都聲明為100

如果方法返回值是元組,我們可以使用 val 來聲明一個(gè)元組:

val (myVar1: Int, myVar2: String) = Pair(40, "Foo")

也可以不指定數(shù)據(jù)類型:

val (myVar1, myVar2) = Pair(40, "Foo")