Kotlin/포스팅

코틀린 람다 함수

짜집퍼박사(짜박) 2023. 12. 31. 02:22

코틀린 람다 함수(lambda function)는 익명 함수로, 코드 블록을 간결하게 표현할 수 있는 방법입니다. 람다 함수는 주로 고차 함수의 매개변수로 전달되거나, 함수형 인터페이스의 인스턴스를 생성할 때 사용됩니다.

 

람다 함수의 기본 구조

// 매개변수 없는 람다 함수
val lambda1: () -> Unit = { println("Hello, World!") }

// 두 개의 정수를 더하는 람다 함수
val lambda2: (Int, Int) -> Int = { a, b -> a + b }

 

람다 함수를 인자로 받는 함수

fun operateOnNumbers(a: Int, b: Int, operation: (Int, Int) -> Int): Int {
    return operation(a, b)
}

fun main() {
    val sumLambda: (Int, Int) -> Int = { x, y -> x + y }

    val result = operateOnNumbers(5, 3, sumLambda)
    println(result)  // 출력: 8
}

 

it 키워드 사용

람다 함수가 하나의 매개변수만 갖는 경우, it 키워드를 사용하여 간단하게 표현할 수 있습니다.

val square: (Int) -> Int = { it * it }

fun main() {
    val result = square(5)
    println(result)  // 출력: 25
}

 

람다 함수의 다양한 사용 예제

// 컬렉션의 각 요소에 대해 람다 함수 적용
val numbers = listOf(1, 2, 3, 4, 5)
val squaredNumbers = numbers.map { it * it }
println(squaredNumbers)  // 출력: [1, 4, 9, 16, 25]

// 필터링을 위한 람다 함수
val evenNumbers = numbers.filter { it % 2 == 0 }
println(evenNumbers)  // 출력: [2, 4]

// reduce를 이용한 람다 함수
val product = numbers.reduce { acc, next -> acc * next }
println(product)  // 출력: 120
with 및 apply 함수를 통한 람다 사용:
kotlin
Copy code
// with 함수를 사용한 람다
val resultWith = with(StringBuilder()) {
    append("Hello, ")
    append("Kotlin!")
    toString()
}
println(resultWith)  // 출력: Hello, Kotlin!

// apply 함수를 사용한 람다
val resultApply = StringBuilder().apply {
    append("Hello, ")
    append("Kotlin!")
}.toString()
println(resultApply)  // 출력: Hello, Kotlin!

람다 함수는 코드를 간결하게 표현할 수 있어서 함수형 프로그래밍에 매우 적합합니다. 람다 함수는 함수형 프로그래밍의 핵심 개념 중 하나이며, 코틀린에서 함수형 프로그래밍을 지원하기 위해 강력하게 채택되었습니다.

 

With ChatGPT

'Kotlin > 포스팅' 카테고리의 다른 글

코틀린 호출 가능 참조  (0) 2023.12.31
코틀린 익명 함수  (0) 2023.12.31
코틀린 함수 타입  (0) 2023.12.30
코틀린 고차 함수  (0) 2023.12.30
코틀린 객체 식  (0) 2023.12.30