无法重新分配本地变量

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

编译器会抛出一个错误,说“val不能重新分配”。

局部变量只能在Kotlin中读取吗?

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

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

temp不是局部变量 – 它是一个函数参数。 没有重新分配的意义。