无法重新分配局部变量


fun test(temp: Int) {
    temp = 5
}

编译器抛出"val不能被重新赋值"错误。

局部变量在Kotlin中是只读的吗?

函数参数始终是只读的(即声明为val);
如果你想改变它,你需要使用一个(新的)局部变量:

fun test(temp: Int) {
   var myTemp = temp
   myTemp = 5
}

temp不是一个局部变量——它是一个函数参数。没有必要重新分配它。

最新更新