람다식 안에서 return 할 수 없는 경우가 있습니다.
처리 중간에 조건을 주고 중간에 빠져나오고 싶지만 return이 없는 람다식의 경우입니다.
아래 예제와 같은 람다식에서 조건에 일치하는 경우 처리를 종료하고 싶은 경우를 보겠습니다.
// Kotlin
numbers.forEach { number ->
if (number % 2 == 1) {
// 여기에서 처리를 끝내고 싶은 경우
}
...
}
이러한 경우에는 람다식이 아닌 익명 함수를 사용하는 것이 좋습니다.
// Kotlin
numbers.forEach(fun(number: Int) {
if (number % 2 == 1) {
return // 처리 종류
}
...
})
람다식과 달리 익명 함수 안에서는 return은 작성한 익명 함수에서 return을 하여 빠져나옵니다.
댓글