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