回答
在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. 重複功能
- 5. 重複功能
- 6. 功能不重複點擊?
- 7. 使用父功能參數
- 8. 繪圖功能不能用於參數
- 9. [R重複功能
- 10. Javascript重複功能
- 11. 重複功能不起作用
- 12. 消除重複使用Oracle LISTAGG功能
- 13. 使用Javascript - 停止重複功能
- 14. jQuery的「可重複使用的」功能
- 15. 功能參數
- 16. 功能參數
- 17. 功能參數
- 18. 計時器不能使用所有參數的主要功能
- 19. 爲什麼rtmfp不能使用這些參數和功能?
- 20. Bash:功能重複,而不是運行指定的功能
- 21. 重塑一個動態數組使用功能參數
- 22. 功能在另一個功能參數
- 23. Node.js的功能參數注入功能
- 24. 刪除功能重複
- 25. 重複功能的jQuery
- 26. 最大功能重複值
- 27. Zend Framework重複功能
- 28. 需要重複功能
- 29. 以間隔重複功能?
- 30. ř重複功能達到
實際上,它通常被認爲是不好的做法,修改參數。我會創建一個名稱不同的新變量,將其分配給參數,然後使用它。另外,你可以將參數聲明爲'var'嗎? – Carcigenicate
@Carcigenicate你不能把函數參數指定爲Kotlin中的val/var,它們暗示爲'val'。 – Todd
爲什麼它被認爲是一個不好的做法我不想在外部範圍中更改參數,以避免分配它。我認爲分配更混亂, – humazed