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


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

属性varval
声明var varName="hello World"val sName = "tutorialspoint.com"
不变性可变的不可变的
变量可赋值次数可以多次赋值。不能多次赋值。
重新赋值可以重新赋值不能重新赋值

示例

在下面的例子中,我们将看到如何使用“val”“var”声明两个不同的变量。我们还将看到,使用'var'声明的变量可以更改,而使用'val'声明的变量不能重新赋值,因为它会在运行时抛出错误,错误消息为“Val cannot be reassigned.”(val不能重新赋值)。

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

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

   // Variable declared by var is mutable
   varName = "new value";
   println("New value of the variable declared using Var: " +varName);
}

输出

它将生成以下输出:

Example of val--->tutorialspoint
Example of Var--->hello World
New value of the variable declared using Var: new value

示例

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

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

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

   // Variable declared by val is not mutable
   sName = "new value";
   println("New value of the variable declared using Var: " +sName);
}

输出

它会在运行时抛出错误:

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

更新于:2021年10月27日

3K+ 次浏览

启动你的职业生涯

通过完成课程获得认证

开始学习
广告