Zamieniam duży projekt na Kotlin. Było wiele wyzwań. Ja ucząc się nowych wzorów Kotlin jest jednym z nich. Mam nadzieję, że istnieje wzorzec, którego mogę użyć, aby rozwiązać ten problem.Jak `kontynuować` lub` break` w instrukcji `when` wewnątrz pętli` while` używając Kotlin
Oto kod, który próbuję osiągnąć. Jednak continue
i break
nie są ważne w instrukcji when
.
while (!mStopped && c.moveToNext()) {
val itemType = c.getInt()
when (itemType) {
1, 2 -> {
doSomething()
if (condition)
continue
doSomethingElse()
}
}
doTheLastStuff()
}
To jest bardzo uproszczona wersja kodu. Oryginalny kod języka Java zawierał 100 linii w instrukcjach przełączników i wiele numerów continue
i break
.
To, co próbuję osiągnąć, to kontynuowanie egzekucji na oświadczeniu while
. Jaki jest wzór dla tej operacji w Kotlin
Po tym, może sprawdzić, czy można obrócić pętlę do ogona funkcji rekurencyjnej, który może być zoptymalizowany z tailrec Kotlin za „adnotacji”. –
(Uwaga: nie jest to duplikat drugiego, drugi dotyczy pętli funkcjonalnych, dotyczy to pętli niefunkcjonalnych .Zagrałem w celu interwencji moderatora, aby "usunąć to jako dupe, ponieważ tak nie jest") –