Kotlin 中“var”和“val”有什么区别?
在 Kotlin 中,我们可以使用两个不同的关键字声明变量:一个是var,另一个是val。在本文中,我们将通过一个例子来演示这些声明彼此的不同之处。
属性 | var | val |
---|---|---|
声明 | 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"; ^
广告