在 Kotlin 中,高階函數(shù)是指接受一個或多個函數(shù)作為參數(shù),或者將函數(shù)作為返回值的函數(shù)。高階函數(shù)的定義與普通函數(shù)類似,只是在參數(shù)列表或返回值中包含了函數(shù)類型。
以下是 Kotlin 高階函數(shù)的一些示例:
fun applyFunction(x: Int, f: (Int) -> Int): Int {
return f(x)
}
fun main() {
val result = applyFunction(5, { y -> y * y })
println(result) // 輸出 25
}
在上面的示例中,applyFunction
是一個高階函數(shù),它接受兩個參數(shù):一個整數(shù) x
和一個函數(shù) f
,該函數(shù)將整數(shù)作為參數(shù)并返回一個整數(shù)。在 main
函數(shù)中,我們傳遞了一個 lambda 表達式 { y -> y * y }
作為參數(shù) f
,該表達式計算輸入值的平方。
fun getFunction(): (Int) -> Int {
return { y -> y * y }
}
fun main() {
val function = getFunction()
val result = function(5)
println(result) // 輸出 25
}
在上面的示例中,getFunction
是一個高階函數(shù),它沒有參數(shù),并返回一個函數(shù),該函數(shù)將整數(shù)作為參數(shù)并返回一個整數(shù)。在 main
函數(shù)中,我們調(diào)用 getFunction
來獲取一個函數(shù),并將其用于計算輸入值的平方。
這些示例演示了 Kotlin 中高階函數(shù)的基本概念。高階函數(shù)在 Kotlin 中非常常見,并且可以用于實現(xiàn)許多高級編程技巧,例如函數(shù)組合、柯里化等。