Kotlin에서 forEach를 사용하는 방법에 대해 좀더 심화적으로 알아보겠습니다.
# 개요
forEach는 순서가 있는 데이터(CharSequence, Iterable 등)에 대한 확장함수로, 기존의 for문을 사용하던 외부 반복(Iteration)에서 내부 반복(Iteration)으로 바꿔줄 수 있게 하여 가독성을 좋게 만든 확장 함수입니다.
먼저 외부 반복에 대해 알아보겠습니다.
외부 반복이란 다음과 같이 외부에서 반복하는 것을 말합니다.
fun main() {
val exampleList = mutableListOf(1, 2, 3)
for (numb in exampleList) {
println(numb)
}
}
이 코드를 forEach를 이용하여 내부반복으로 바꾼다면 다음과 같이 바뀌게 됩니다.
forEach는 해당 순번에 해당하는 원소를 지목하기 위해 it 키워드를 사용합니다.
fun main() {
val exampleList = mutableListOf(1, 2, 3)
exampleList.forEach {
print(it)
}
}
한결 더 가독성이 좋아졌습니다.
# 정의
public inline fun <T> Iterable<T>.forEach(action: (T) -> Unit): Unit
forEach는 Iterable에 대한 반복(iteration)을 수행하면서, 각 원소에 대해 입력값으로 받은 action을 수행하도록 만드는 확장함수입니다.
action을 T 타입의 인자를 받아 처리하고, Unit을 return하는 함수입니다.
저는 action은 현재까진 잘 사용하지 않지만, 아래와 같은 형태로 사용이 가능합니다.
fun main() {
val exampleList = mutableListOf(1, 2, 3)
val action = {
value: Int -> print(value)
}
exampleList.forEach(action)
}
[Kotlin basic] forEach
'Kotlin > Basic' 카테고리의 다른 글
[Kotlin] Scope Functions 정리 (0) | 2023.01.02 |
---|---|
[Kotlin] 클래스 계층 정의 (0) | 2022.12.31 |
[Kotlin] 코틀린 프로퍼티와 필드(Properties and Fields) (1) | 2022.12.31 |
[Kotlin Tip] 대소문자 변환 (0) | 2022.12.31 |
[Kotlin Tip] 코틀린 변수 타입 출력하기 (0) | 2022.12.31 |