함수를 변수에 할당하는 다양한 방법
fun main() {
val calcSum : Int = sum(3, 5) //(1)
val calcSubtract : Int = calculate(::subtract, 10, 5) //(2)
val calcMultiply : Int = calculate(fun (a:Int, b:Int) = a * b, 3, 5) //(3)
val calcDivide : Int = calculate({ a, b -> a / b }, 10, 5) //(4)
println("sum : $calcSum" +
"\nsubtract : $calcSubtract" +
"\nmultiply : $calcMultiply" +
"\ndivide : $calcDivide"
);
}
fun sum (a: Int, b: Int) = a + b
fun subtract (a: Int, b: Int) = a - b
fun calculate (calc: (Int, Int) -> Int, a: Int, b: Int) : Int{
return calc(a, b)
}
(2) 미리 만들어놓은 일반 함수를 인자값으로 넘길 때는 :: 을 사용한다.
(3) 익명 함수로 넘길 수도 있다
(4) 람다식으로 넘길 수도 있다
'개발 > Kotlin' 카테고리의 다른 글
LiveData + DataBinding 학습 예제 (0) | 2022.01.28 |
---|---|
코틀린 공부 - 문제 (0) | 2021.08.06 |
코틀린 공부 - 함수 (4) let, run, also, apply, with의 차이 정리 (0) | 2021.08.03 |
코틀린 공부 - 함수 (4) with (0) | 2021.08.03 |
코틀린 공부 - 함수 (4) also, apply (0) | 2021.08.03 |