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、社会保险号等。 |