Kotlin中var和val有什么区别?何时使用哪个?
大家好!我刚开始在Java之后学习Kotlin,对变量声明感到困惑。Kotlin有两个关键字:var和val。我知道它们都用于创建变量,但无法理解何时该用哪一个。
在Java中,我习惯变量总是可变的,除非指定了final。而这里正好相反——似乎val更常用,但我不明白为什么。
下面是我感到困惑的代码示例:
fun main() {
var name = "安娜"
name = "玛丽亚" // 可以工作
val city = "莫斯科"
// city = "圣彼得堡" // 编译错误!
var count = 0
count = count + 1 // 可以工作
val maxCount = 100
// maxCount = 200 // 错误!
}
我读到val是不可变引用(像Java中的final),而var是可变引用。但我不太明白