fun main() {
val res1 = sum(3,2)
val res2 = mul(sum(3,2), 3) //함수의 결과값을 인자로 사용
val res3 = mul(func(), 3) //고차함수 사용
val lambdaSum : (Int, Int) -> Int = {x:Int, y: Int -> x+y} //람다식을 일반 변수에 할당
val res4 = lambdaSum(3,2) //일반 변수에 할당한 람다식은 함수처럼 사용 가능
val lambdaSum2 : ()-> Unit = { println("lambdaSum2")} //반환값이 없는 람다식을 변수에 할당
println("res1 : $res1");
println("res2 : $res2");
println("res3 : $res3");
println("res4 : $res4");
lambdaSum2()
}
fun sum(a: Int, b: Int) = a+b
fun mul(a: Int, b: Int) = a*b
//고차함수 (매개변수가 함수이거나 반환값이 함수)
fun func() : Int {
return sum(3,2)
}
결과 :
res1 : 5
res2 : 15
res3 : 15
res4 : 5
lambdaSum2
'개발 > Kotlin' 카테고리의 다른 글
코틀린 공부 - 함수(4) - let / run (0) | 2021.08.03 |
---|---|
코틀린 공부 - 함수(3) (0) | 2021.08.02 |
코틀린 공부 - 함수(1) (0) | 2021.08.02 |
코틀린 기초 5 - object (0) | 2020.06.25 |
코틀린 기초 - 4(고차함수, 람다) (0) | 2020.06.24 |