※ 람다식 이해(2)
- 매개변수 개수에 따라 람다식을 구성하는 법
매개변수가 없는 경우
fun main() {
// 매개변수 없는 람다식 함수
npParam({ "Hello World!" })
noParam { "Hello World!" } // 위와 동일 결과, 소괄호 생략 가능
}
// 매개변수가 없는 람다식 함수가 noParam 함수의 매개변수 out으로 지정됨
fun noParam(out: () -> String) = println(out())
매개변수가 한 개인 경우
fun main() {
// 매개변수 없는 람다식 함수
// 매개변수가 하나 있는 람다식 함수
oneParam({ a -> "Hello World! $a" })
oneParam { a -> "Hello World! $a" } // 위와 동일 결과, 소괄호 생략 가능
oneParam { "Hello World! $it" } // 위와 동일 결과, it으로 대체 가능
}
...
// 매개변수가 하나 있는 람다식 함수가 oneParam함수의 매개변수 out으로 지정됨
fun oneParam(out: (String) -> String) {
println(out("OneParam"))
}
매개변수가 두 개 이상인 경우
fun main() {
...
// 매개변수가 두 개 있는 람다식 함수
moreParam { a, b -> "Hello World! $a $b"} // 매개변수명 생략 불가
...
}
// 매개변수가 두 개 있는 람다식 함수가 moreParam 함수의 매개변수로 지정됨
fun moreParam out: (String, String) -> String) {
println(out("OneParam", "TwoParam"))
}
매개변수를 생략하는 경우
moreParam { _, b -> "Hello World! $b"} // 첫 번째 문자열은 사용하지 않고 생략
출처: 코틀린 프로그래밍 기본1 (강사: 황영덕)
'기타 > What I Learned' 카테고리의 다른 글
[TIL] Kotlin - 인라인/확장 함수 (0) | 2022.02.03 |
---|---|
[TIL] Kotlin - 익명/인라인 함수 (0) | 2022.01.30 |
[TIL] Kotlin - 람다식의 이해(1) (0) | 2022.01.28 |
[TIL] Kotlin - 람다 (0) | 2022.01.26 |
[TIL] Kotlin - 패러다임(1) (0) | 2022.01.25 |