Kotlin高階函數
高階函數定義格式示例1:
/**
* 高階函數
* 此高階函數接收兩個參數,第一個參數是String類,第二個參數是接收String值且傳回值為Int的函數。整體傳回值是Int類型
*/
private fun fun3(str:String,mapper:(String) -> Int):Int{
return mapper(str)
}
上面的高階函數思想是:
此高階函數接收兩個參數,第一個參數是String類,第二個參數是接收String值且傳回值為Int的函數。整體傳回值是Int類型
高階函數的調用:
val value2 = fun3("Android") { input -> input.length } //輸入字元串,傳回字元串長度
val value3 = fun3("Android") { input -> input.lastIndex } //輸入字元串,傳回字元串最後一個字元位置
高階函數定義格式示例2:
/**
* 高階函數
* 此高階函數接收兩個參數,第一個參數是String類,第二個參數是接收String值且傳回值為String的函數。整體傳回值是String類型
*/
private fun fun4(str: String,highmethod:(String) -> String):String{
return highmethod(str)
}
上面的高階函數思想是:
此高階函數接收兩個參數,第一個參數是String類,第二個參數是接收String值且傳回值為String的函數。整體傳回值是String類型
高階函數的調用:
高階函數定義格式示例3:
/**
* 進階函數定義
* 此高階函數接收三個參數,第一、二個參數是Int類型,第三個參數是接收兩個Int值傳回值類型為Int的函數。整體傳回值是Int類型
*/
private fun fun5(value1: Int,value2: Int,highmethod:(Int,Int) -> Int):Int{
return highmethod(value1,value2)
}
上面的高階函數思想是:
此高階函數接收三個參數,第一、二個參數是Int類型,第三個參數是接收兩個Int值傳回值類型為Int的函數。整體傳回值是Int類型
高階函數的調用:
上面幾次調用的結果:
ps:本文僅用作筆記記錄