无法重新分配局部变量

时间:2016-11-15 12:20:57

标签: kotlin

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

编译器抛出错误,说“无法重新分配val”。

局部变量是否仅在Kotlin中读取?

2 个答案:

答案 0 :(得分:9)

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

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

答案 1 :(得分:0)

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