[kotlin] High-Order-Function
2021. 6. 18. 13:36ㆍ모바일/Android_Kotlin
High-Order-Function
- 함수를 파라미터로 념겨주거나, 함수를 반환하는 함수를 말한다
- 코틀린은 넘어오는 변수가 1개인 경우 it로 대체 가능하다
파라미터 1개일때,
fun main() {
print {
it+4
}
}
fun print(calculate : (Int)->Int){
println(calculate(1))
}
//출력
5
파라미터가 2개일 때
fun main() {
print { a, b ->
a + b
}
}
fun print(calculate: (Int, Int) -> Int) {
println(calculate(1, 3))
}
//출력
4
다른 메소드 참조하기
fun main() {
printFunction (::sample)
}
fun printFunction(calculate: (Int, Int) -> Int) {
println(calculate(1, 3))
}
fun sample(a:Int,b:Int) = a+b
//출력
4
- 이 때 printFunction 파라미터인 caculate함수의 파라미터와 sample함수의 파라미터가 같아야합니다
고차함수 변수에 할당하기
fun main() {
higherOrder = {
println("$it")
}
higherOrder("print")
}
private lateinit var higherOrder : (String)->Unit
참조
'모바일 > Android_Kotlin' 카테고리의 다른 글
[kotlin] 코틀린을 다루는 기술 — 4장 재귀, 공재귀, 메모화 (0) | 2021.06.21 |
---|---|
[Kotlin] apply, with, let, also, run, 범위 지정, 수신 객체 지정 람다, 확장함수 (0) | 2021.06.21 |
[kotlin] inline , noinline, crossline function (0) | 2021.06.18 |
[kotlin] class, object, companion object (0) | 2021.06.17 |
[kotlin] 함수 리터럴 (with receiver) (0) | 2021.06.17 |