kotlin에서의 lambda식 작성을 알아볼 예정
// 표준
val lambda : String = "test"
// lambda 형식
// Unit = void 랑 같은 거임 return 값이 없는 거
val lambda1 : () -> Unit = {
// body 부분이 되는 것
println("lambda called")
}
// 실행
lambda1()
// 실행 방법2
lambda1.invoke()
// parameter 가 있는 경우
val pLambda : (String) -> Unit = { myInput ->
println("pLambda is called, param is $myInput")
}
// 실행
pLambda("this is param")
// return 값이 있는 경우
val pLambdaReturn : (Int, Int) -> Int = { n1, n2 ->
val result = n1 + n2
println("pLambdaReturn is called")
// return 값은 맨 마지막 줄에 써줘야 함
result
}
// pLambdaReturn 실행
println(pLambdaReturn(10, 20))
// parameter 를 1개만 사용 하는 경우 = 안 쓰는 놈은 _ 로 표기
val pLambdaReturn2 : (Int, Int) -> Int = { n1, _ ->
val result = n1
println("pLambdaReturn is called")
// return 값은 맨 마지막 줄에 써줘야 함
result
}
// pLambdaReturn2 실행
println(pLambdaReturn2(10, 20))
결과

순서대로 작성한 lambda식이 실행된 것을 확인할 수 있음