我有这两个功能,我正在尝试修改元素。其中一个编译,另一个说'val不能被重新分配'。以下功能有什么区别?为什么一个编译而另一个不编译?
编译的那个
fun <T> Array<T>.mapInPlace2(transform: (T) -> T) {
for (i in this.indices) {
this[i] = transform(this[i])
}
}
那个说
无法重新分配 Val
fun <T> Array<T>.mapInPlace1(transform: (T) -> T) {
for (i in this) {
i = transform(i);
}
}