3
A
回答
8
功能參數始終爲只讀(即聲明爲val
);
如果你想改變它,你將需要使用一個(新的)局部變量:
fun test(temp: Int) {
var myTemp = temp
myTemp = 5
}
0
temp
不是一個局部變量 - 這是一個函數的參數。沒有重新分配它的意義。
相關問題
- 1. 爲什麼方法參數重新分配給局部變量?
- 2. 「無法分配給命名常量」(重新分配變量)
- 3. 局部變量「X」分配
- 4. Thymeleaf:重新分配一個局部變量
- 5. 重新分配/更改全局變量時的變量範圍
- 6. 似乎無法解決未分配的局部變量
- 7. 重新分配變量值
- 8. 分配新值變量無法
- 9. WordPress插件激活錯誤「無法重新分配自動全局變量_POST」
- 10. UnboundLocalError:局部變量「Z」分配
- 11. UnboundLocalError:局部變量「conn將」分配
- 12. UnboundLocalError:局部變量「文件名」分配
- 13. 在遞歸中分配局部變量
- 14. 局部變量「模板」分配
- 15. 使用未分配的局部變量
- 16. UnboundLocalError:局部變量 'readlgt' 分配
- 17. 局部變量 '形式' 之前分配
- 18. 可以局部變量分配嗎?
- 19. C# - 未分配的局部變量
- 20. Tkinter的局部變量 'calcButton' 分配
- 21. 局部變量「服務器的分配
- 22. 使用未分配的局部變量?
- 23. 未分配的局部變量之謎
- 24. Django的 - 局部變量「秒」分配
- 25. 未分配的局部變量錯誤
- 26. UnboundLocalError:局部變量「RESP」分配
- 27. unboundlocalerror局部變量 'I' 分配
- 28. UnboundLocalError:局部變量「用戶名」分配
- 29. 錯誤:未分配的局部變量
- 30. C#:無法在For循環內重新分配變量
只是跟進問題。爲什麼函數參數只能讀取?它的用途是什麼? – user3282666
Kotlin支持可變性的不變性,這反映在參數默認爲只讀。如果你想重新分配它,你可以通過使用一個名字相同的變量來隱藏它:'var temp = temp' –
在Java中給參數賦值是一種不好的做法。有人可能會認爲它會改變函數外的對象的價值。它是Kotlin禁止的,這是一個很好的決定。 –