Kotlin 无法重新分配局部变量
编译器抛出一个错误,说明“无法重新分配val”Kotlin 无法重新分配局部变量,kotlin,Kotlin,编译器抛出一个错误,说明“无法重新分配val” 局部变量在Kotlin中是只读的吗?函数参数始终是只读的(即声明为val) 如果要更改它,则需要使用(新)局部变量: fun test(temp: Int) { temp = 5 } temp不是局部变量-它是一个函数参数。没有必要重新分配它 只是一个后续问题。为什么函数参数是只读的?它的作用是什么?Kotlin支持不变性而不是易变性,这反映在默认情况下参数是只读的。如果要重新分配它,可以使用同名变量对其进行阴影处理:var temp=t
局部变量在Kotlin中是只读的吗?函数参数始终是只读的(即声明为
val
)如果要更改它,则需要使用(新)局部变量:
fun test(temp: Int) {
temp = 5
}
temp
不是局部变量-它是一个函数参数。没有必要重新分配它 只是一个后续问题。为什么函数参数是只读的?它的作用是什么?Kotlin支持不变性而不是易变性,这反映在默认情况下参数是只读的。如果要重新分配它,可以使用同名变量对其进行阴影处理:var temp=temp
在Java中,为参数赋值是一种不好的做法。有人可能会认为它会改变函数外部对象的值。这是禁止的,在国际海事组织这是一个很好的决定。
fun test(temp: Int) {
var myTemp = temp
myTemp = 5
}