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

+ Recent posts