고차 함수(Higher-order functions)
2022. 5. 21. 19:53ㆍAndroid/Kotlin
고차 함수(Higher-order functions)
함수는 다른 함수를 인수로 취할 수 있습니다. 다른 함수를 인수로 사용하는 함수를 고차 함수라고 합니다. 이 패턴은 자바에서 콜백 인터페이스를 사용할 때와 동일한 방식으로 구성요소 간에 통신하는 데 유용합니다.
다음은 고차 함수의 예입니다.
fun stringMapper(str: String, mapper: (String) -> Int): Int {
// Invoke function
return mapper(str)
}
stringMapper() 함수는 전달된 String에서 Int 값을 파생하는 함수와 함께 String를 가져옵니다.
아래 예와 같이 다른 입력 매개변수를 충족하는 함수, 즉 String을 입력으로 사용하고 Int를 출력하는 함수와 String을 전달하여 stringMapper()를 호출할 수 있습니다.
stringMapper("Android", { input ->
input.length
})
아래 예와 같이 익명 함수가 함수에 정의된 마지막 매개변수인 경우 함수를 호출하는 데 사용된 괄호 밖에서 함수를 전달할 수 있습니다.
stringMapper("Android") { input ->
input.length
}
익명 함수는 Kotlin 표준 라이브러리 전체에서 찾을 수 있습니다. 자세한 내용은 고차 함수 및 람다를 참조하세요.
'Android > Kotlin' 카테고리의 다른 글
getOrElse, getOrNull (0) | 2022.05.22 |
---|