在Kotlin中,高階函數是指接受一個或多個函數作為參數,或者返回一個函數作為結果的函數。要實現回調,你可以將一個函數作為參數傳遞給另一個函數,然后在適當的時機調用它。以下是一個簡單的示例:
// 定義一個高階函數,接受一個函數作為參數
fun performAction(action: () -> Unit) {
// 在適當的時機調用傳入的函數
action()
}
// 定義一個回調函數
fun onActionCompleted() {
println("Action completed!")
}
fun main() {
// 將回調函數傳遞給高階函數
performAction(onActionCompleted)
}
在這個示例中,performAction
是一個高階函數,它接受一個名為action
的函數作為參數。onActionCompleted
是一個回調函數,當performAction
被調用時,它將被傳遞給performAction
并執行。
如果你需要返回一個函數作為結果,可以使用以下示例:
// 定義一個高階函數,接受一個函數作為參數并返回一個新的函數
fun createFunction(action: () -> Unit): () -> Unit {
return {
action()
}
}
// 定義一個回調函數
fun onActionCompleted() {
println("Action completed!")
}
fun main() {
// 將回調函數傳遞給高階函數并獲取新的函數
val newAction = createFunction(onActionCompleted)
// 調用新的函數
newAction()
}
在這個示例中,createFunction
是一個高階函數,它接受一個名為action
的函數作為參數,并返回一個新的函數。這個新的函數在調用時會執行傳入的action
函數。