Scala 中 val 和 var 的區別
Suraj P
2023年1月30日
本教程將研究在 Scala 中初始化變數的 val
和 var
關鍵字之間的區別。
Scala 中的 val
關鍵字
val
關鍵字是 immutable
的常量引用,這意味著初始化後無法更改或修改值。如果我們仍然嘗試更改它,我們將得到一個錯誤,如下所示。
程式碼片段:
object MyClass {
def main(args: Array[String]) {
val name = "Iron Man"
name = "Tony Stark"
}
}
輸出:
scala:7: error: reassignment to val
name = "Tony Stark"
Scala 中的 var
關鍵字
關鍵字 var
是一個可變
的變數,這意味著我們可以更改或重新分配值給變數。var
關鍵字在變數不斷變化時很有用。
例如,假設我們有一個變數 account_balance
,它顯示了使用者當前的賬戶餘額。我們知道這個變數在現實世界的場景中必須經常更新或改變,所以我們必須將它宣告為 var,
,而不是 val
。
程式碼片段:
object MyClass{
def main(args: Array[String]):Unit={
var account_balance: Int = 1000
account_balance += 1000 //adding amount
account_balance -= 50 //withdrawing amount
account_balance += 200
println(account_balance)
}
}
輸出:
2150
讓我們看一下表格中的 val
和 var
關鍵字之間的區別。
val |
變數 |
---|---|
值在編譯時初始化。 | 值在編譯時初始化。 |
變數在這裡是可變的。 | 這裡的值是不可變的,使變數只讀。 |
更新或更改值不會導致錯誤更新。 | 更新或更改值確實會產生錯誤更新。 |
示例:計數、迴圈變數、總和變數等 | 示例:id、社會保險號等。 |