더북(TheBook)

람다를 위한 간이 구문

코틀린은 파라미터가 단 하나뿐인 람다를 편하게 쓸 수 있는 간이 구문을 제공한다. 간이 구문에서는 유일한 파라미터의 이름을 it으로 부른다. 앞에서 본 map 코드를 이 간이 구문으로 다시 쓰면 다음과 같다.

fun triple(list: List<Int>): List<Int> = list.map { it * 3 }

하지만 항상 이런 구문을 사용하는 것은 현명하지 않다. 람다 안에 다른 람다가 들어 있지 않으면 이렇게 줄여 쓰는 쪽이 더 편하지만, 내포된 람다가 있으면 it이 가리키는 대상을 추측하기 어려워질 수 있다! 람다를 항상 여러 줄에 걸쳐 쓰는 것이 좋은 습관이다.

fun triple(list: List<Int>): List<Int> = list.map {
    it * 3
}

fun triple(list: List<Int>): List<Int> = list.map { a ->
    a * 3
}

화살표(->) 다음에서 줄을 바꾸면 여러분이 사용하는 구문을 명확하게 만들 수 있다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.