기타/What I Learned

[TIL] Kotlin - 람다식과 고차함수 요약

가죽방패 2022. 2. 16. 13:33

※ 람다식 (Lambda Expression)

- 구성 { 매개변수[,...] -> 람다식 본문 }

람다식은 항상 중괄호로 묶여 있고 중괄호 내의 매개변수는 화살표 표기법 좌측에 배치되고 우측은 식을 구성한다.\

매개변수가 한 개인 경우엔 매개변수를 생략하고 it으로 표기할 수 있다.

val sum: (Int, Int) -> Int = { x, y -> x + y }
val mul = { x: Int, y: Int -> x * y }

val add: (Int) -> Int = { it + 1 }

※ 고차 함수(Higher-Order Function)

- 함수의 매개변수로 함수를 받거나 함수 자체를 반환할 수 있는 함수

fun high (name: String, body: (Int)->Int): Int {
	println("name: $name")
    val x = 0
    return body(x)
}