似乎 Kotlin 已經剝奪了執行常見的基本循環的能力,或者我還沒有找到正確的文檔。
鑑於以下Java循環,我可以將其粗略地轉換為它下面的kotlin(包括在內,以便您可以了解我當前錯誤的來源。這種方法不容易發現,因此它可能根本不是正確的方法)
for (int i=start; i < end; i++) // base java
for (i in start until end) // equivalent kotlin
但是當我需要支持步進而不是一次增加一個時呢?鑑於此 Java 循環:
for (int offset = 0; offset < length; ) {
int count = 1
//stuff that assigns count
offset += count;
}
這個 Kotlin“等效”代碼給出了一個賦值錯誤,因為i
實際上是一個val
not a var
(我可能不會將它聲明為 a var
):
for (i in offset until length) {
var count = 1
//stuff that assigns count
offset += count;
}
如何逐步通過固定範圍,其中步長值在每次迭代中都會發生變化?
根據要求,一個正確的例子:
var i = 0
while (i < end) {
val count = 1
i += count
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句