天天看點

Kotlin高階函數定義模闆

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類型

高階函數的調用:

上面幾次調用的結果:

Kotlin高階函數定義模闆

ps:本文僅用作筆記記錄