Scala 中 val 和 var 的區別

Suraj P 2023年1月30日 2022年5月18日
  1. Scala 中的 val 關鍵字
  2. Scala 中的 var 關鍵字
Scala 中 val 和 var 的區別

本教程將研究在 Scala 中初始化變數的 valvar 關鍵字之間的區別。

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

讓我們看一下表格中的 valvar 關鍵字之間的區別。

val 變數
值在編譯時初始化。 值在編譯時初始化。
變數在這裡是可變的。 這裡的值是不可變的,使變數只讀。
更新或更改值不會導致錯誤更新。 更新或更改值確實會產生錯誤更新。
示例:計數、迴圈變數、總和變數等 示例:id、社會保險號等。
Author: Suraj P
Suraj P avatar Suraj P avatar

A technophile and a Big Data developer by passion. Loves developing advance C++ and Java applications in free time works as SME at Chegg where I help students with there doubts and assignments in the field of Computer Science.

LinkedIn GitHub