如何在 Kotlin 的循環中逐步遍歷固定範圍,其中每次迭代的步長值都會發生變化

尼克卡多索

似乎 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實際上是一個valnot 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章