- Reactive Programming in Kotlin
- Rivu Chakraborty
- 155字
- 2021-07-02 22:26:39
High-order functions
Those functions that take another function as an argument or return a function as result are called high-order functions. Consider the following example to understand it better:
fun highOrderFunc(a:Int, validityCheckFunc:(a:Int)->Boolean) {//(1) if(validityCheckFunc(a)) {//(2) println("a $a is Valid") } else { println("a $a is Invalid") } } fun main(args: Array<String>) { highOrderFun(12,{ a:Int -> a.isEven()})//(3) highOrderFunc(19,{ a:Int -> a.isEven()}) }
In this program, we've declared a highOrderFunc function, which will take an Int and a validityCheckFunc(Int) function. We are calling the validityCheckFunc function inside the highOrderFunc function, to check whether the value was valid or not. However, we are defining the validityCheckFunc function at runtime, while we are calling the highOrderFunc function inside the main function.
Note that the isEven function in this program is an extension function that has been defined inside the project files you got with the book.
Here is the output:
a 12 is Valid a 19 is Invalid
推薦閱讀
- MySQL數據庫進階實戰
- Hands-On Machine Learning with Microsoft Excel 2019
- 大數據導論
- 數據庫原理與應用(Oracle版)
- 金融商業算法建模:基于Python和SAS
- PostgreSQL指南:內幕探索
- 改變未來的九大算法
- 計算機視覺
- 數據挖掘競賽實戰:方法與案例
- Node.js High Performance
- Scratch 2.0 Game Development HOTSHOT
- 大數據技術體系詳解:原理、架構與實踐
- Managing Software Requirements the Agile Way
- SQL Server 2012數據庫技術及應用(第4版)
- 數據質量管理:數據可靠性與數據質量問題解決之道