Kotlin 中的“var”和“val”有什么区别?

在 Kotlin 中,我们可以使用两个不同的关键字声明一个变量:一个是var,另一个是val。在本文中,我们将通过一个示例来演示这些声明之间的不同之处。

属性变量
Declarationvar varName="你好世界"val sName = "nhooo.com"
不变性可变的Immutable
可以分配变量的次数 可以多次赋值。Cannot be assigned multiple times.
重新分配 可以重新分配无法重新分配

示例

在下面的示例中,我们将看到如何使用"val""var"声明两个不同的变量。我们还将看到使用 'var' 声明的变量可以更改,而使用'val'声明的变量不能重新分配,因为它会在运行时引发错误,并显示错误消息“Val 无法重新分配”。

val sName = "nhooo";
var varName = "hello World"

fun main() {
   println("Example of val--->"+sName);
   println("Example of Var--->"+varName);

   //var 声明的变量是可变的
   varName = "new value";
   println("使用 Var 声明的变量的新值: " +varName);
}
输出结果

它将生成以下输出 -

Example of val--->nhooo
Example of Var--->hello World
使用 Var 声明的变量的新值: new value

示例

现在,让我们尝试更改使用val声明的变量的值-

val sName = "nhooo";
var varName = "hello World"

fun main() {
   println("Example of val--->"+sName);
   println("Example of Var--->"+varName);

   //val 声明的变量是不可变的
   sName = "new value";
   println("使用 Var 声明的变量的新值: " +sName);
}
输出结果

它会在运行时抛出错误 -

main.kt:9:5: error: val cannot be reassigned
sName = "new value";
^