[kotlin] let() 함수를 사용하여 함수 체이닝하기

Kotlin에서는 let() 함수를 사용하여 객체에 대한 연산을 연속적으로 수행할 수 있습니다. 이는 함수형 프로그래밍에서 유용한 기능 중 하나로, null 체크와 함께 객체를 안전하게 다룰 수 있게 해줍니다.

fun main() {
    val name: String? = "John"
    
    name?.let {
        println("Length of name is ${it.length}")
    } ?: run {
        println("Name is null")
    }
}

위의 코드는 name이 null이 아닌 경우에 let 함수를 이용하여 it을 통해 이름의 길이를 출력하고, name이 null인 경우에는 “Name is null”을 출력합니다.

또한, let() 함수를 활용하면 객체를 전달받아 다양한 작업을 수행한 후 최종 결과를 반환하는 함수를 체이닝할 수 있습니다.

fun main() {
    fun multiplyBy2(input: Int): Int {
        return input * 2
    }
    
    fun divideBy3(input: Int): Int {
        return input / 3
    }
    
    val number: Int? = 15
    
    val result = number?.let { multiplyBy2(it) }?.let { divideBy3(it) }
    
    println("Result is $result")
}

위의 코드는 number가 null이 아닌 경우에 let 함수를 사용하여 multiplyBy2divideBy3 함수를 순차적으로 적용한 뒤, 최종 결과를 출력합니다.

이처럼 Kotlin의 let() 함수를 사용하면 객체에 대한 연산을 안전하게 체이닝하고, 다양한 작업을 수행할 수 있습니다.

더 많은 정보는 Kotlin 공식 문서를 참조하세요.