고차 함수
1개 이상의 함수를 파라미터로 받는 함수 혹은 함수를 결과로 반환하는 함수를 고차 함수라고 한다.
- 함수를 파라미터로 넘길 때
: () -> String
과 같이 함수의 타입을 명시해야 한다. - 예를 들어
Int
를 파라미터로 받고String
을 반환하는 함수는(Int) -> String
과 같이 명시하면 된다. - 반환값이 없으면
(Int, Int) -> Unit
과 같이Unit
을 반환하면 된다.
fun main() {
val helloWorld: () -> String = { "Hello World!!" }
val value = getFunction(helloWorld)
print("${value}")
}
fun getFunction(func: () -> String): () -> String {
return func
}
// Hello World!!