Я конвертирую большой проект в Котлин. Были многочисленные проблемы. Я изучаю новые модели Котлина - один из них. Надеюсь, есть образец, который я могу использовать для решения этой проблемы.Как `продолжить` или` break` в `` `` `в цикле` while`, используя Kotlin
Вот код, который я пытаюсь достичь. Но, continue
и break
недействительны в заявлении when
.
while (!mStopped && c.moveToNext()) {
val itemType = c.getInt()
when (itemType) {
1, 2 -> {
doSomething()
if (condition)
continue
doSomethingElse()
}
}
doTheLastStuff()
}
Это очень вырезанная версия кода. В исходном Java-коде было 100 строк строк внутри операторов switch и много continue
и break
.
То, что я пытаюсь достичь, состоит в продолжении выполнения в заявлении while
. Что такое шаблон для этого в Котлин
После этого, возможно, увидеть, если вы можете превратить петлю в рекурсивной функции хвоста, который может быть оптимизирован с tailrec Котлин в «аннотаций». –
(Примечание: это не дубликат другого, а другой - о функциональных циклах, это касается нефункциональных циклов. Я отметил для модератора вмешательство, чтобы «отменить это как обман, потому что это не так») –