티스토리 뷰
반응형
람다 식과 익명 함수는 '함수 리터럴'입니다. 즉, 선언되지 않고 즉시 식으로 전달되는 함수입니다.
fun sum(x: Int, y: Int) = println(x + y) // 일반 함수
val lambda = { x: Int, y: Int -> println(x + y) } //람다 함수
fun main(args: Array<String>) {
sum(10, 20) // print 30
lambda(10, 20) // print 30
}
람다 표현식은 항상 중괄호로 둘러쌉니다.
전체 구문 형식의 매개 변수 선언은 중괄호 안에 들어가고 선택적 유형 주석을 가집니다.
본문은 -> 부호 뒤에 옵니다.
유추된 람다 반환 형식이 아닌 Unit경우 람다 본문의 마지막 식 (또는 단일 식)이 반환 값으로 처리됩니다.
쉽게 말해
- 람다는 { } 안에 작성됩니다.
- { 매개변수 선언 -> 코드 작업 } 형태를 가집니다.
- 코드 작업 구간에서 마지막 줄은 자동으로 리턴 타입이 됩니다.
val lambda = { x: Int, y: Int ->
println(x + y)
x // 람다는 마지막 줄이 리턴 값이 되므로 타입이 Int인 x 가 반환됩니다.
}
위 코드를 이해하기 위해서는 아래 코틀린 문법이 필수입니다.
반응형
'Kotlin' 카테고리의 다른 글
24. 코틀린 고차 함수 알아보기 (0) | 2019.06.09 |
---|---|
22. 코틀린 위임 된 속성 (Delegated Properties) 알아보기 (0) | 2019.06.01 |
21. 코틀린 위임 (Delegation) 알아보기 (0) | 2019.05.31 |
20. 코틀린 인라인 클래스 (Inline classes) (0) | 2019.05.31 |
19. 코틀린 Object, 싱글톤(Singleton), 동반자 객체 (0) | 2019.05.30 |
댓글
최근에 올라온 글
최근에 달린 댓글