回答
在Kotlin中,函數參數被視爲val
。這意味着你必須在你的函數內部做些什麼才能「修改」它的引用。
你的解決方案可以工作,但我覺得這是一個不好的做法,以影響變量。這會導致混淆,並且不能很準確地涵蓋您瞭解該功能對本地功能有影響的意圖。
我會去像這樣的東西:
fun test(i: Int) {
var i2 = i
i2 += 3 // etc...
}
我已經考慮過了,但在我的情況下,參數名稱是寬度和高度。 我覺得重命名會導致可讀性較差的代碼。 – humazed
我發現的唯一解決方案是使用名稱遮蔽,即類似的東西
fun test(i: Int) {
var i = i
i += 5
}
我不知道,如果它的最佳解決方案,因爲它感覺不對,即使是IntelliJ IDEA的提醒我這件事。
我所期待的神奇的東西一樣
fun test(var i: Int) {
i += 5
}
但unfortuantly這還不comile。
這很有趣Kotlin可以用重複的參數名稱定義變量。也許這是一個錯誤。 +1 –
不,不是,這只是一個不好的習慣。 – humazed
謝謝,我明白了。但是你不能在Java中定義任何陰影變量。事實上,Kotlin爲此定義了另一個局部變量,您也可以更改局部變量類型,例如:'var i:String =「foo」'。 –
- 1. 使用Javascript重複功能
- 2. 重複功能
- 3. 繪圖功能不能用於參數
- 4. 使用Javascript - 「不是一個功能」參數添加到功能
- 5. Javascript重複功能
- 6. [R重複功能
- 7. 使用Javascript - 停止重複功能
- 8. jQuery的「可重複使用的」功能
- 9. 消除重複使用Oracle LISTAGG功能
- 10. 功能參數
- 11. 功能參數
- 12. 計時器不能使用所有參數的主要功能
- 13. 重塑一個動態數組使用功能參數
- 14. 功能在另一個功能參數
- 15. Node.js的功能參數注入功能
- 16. 重構複製功能
- 17. 需要重複功能
- 18. 如何重複此功能
- 19. 重複功能的jQuery
- 20. ř重複功能達到
- 21. 以間隔重複功能?
- 22. Zend Framework重複功能
- 23. php頭問題不會重複功能
- 24. 不允許重複的功能? (C++)
- 25. jQuery的:緊功能window.resize(不重複)
- 26. 通功能參數
- 27. 功能參數XMM0
- 28. 功能與參數
- 29. SQL功能參數
- 30. 多功能參數?
實際上,它通常被認爲是不好的做法,修改參數。我會創建一個名稱不同的新變量,將其分配給參數,然後使用它。另外,你可以將參數聲明爲'var'嗎? – Carcigenicate
@Carcigenicate你不能把函數參數指定爲Kotlin中的val/var,它們暗示爲'val'。 – Todd
爲什麼它被認爲是一個不好的做法我不想在外部範圍中更改參數,以避免分配它。我認爲分配更混亂, – humazed