在 Kotlin 中,我们可以使用两个不同的关键字声明一个变量:一个是var,另一个是val。在本文中,我们将通过一个示例来演示这些声明之间的不同之处。
属性 | 变量 | 值 |
---|---|---|
Declaration | var 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"; ^