kotlin的高阶函数是kotlin的一大特色,简写的方式,让人摸不着头脑,今天来记录一下
高阶函数的特点:函数的参数是一个函数类型,或者函数的返回值类型是一个函数类型
高阶函数1
//创建一个高阶函数,不带返回值,且函数型参数也是不带返回值的
private fun gj(
zs:()->Unit
){
zs.invoke()
}
//创建一个高阶函数,带返回值,且函数型参数也带返回值
private fun name(
zs:()->Int
):Int{
return zs.invoke()
}
//创建一个带参数的普通函数
private fun red(a:Int,b:Int):Int{
return a-b;
}
//创建一个普通函数
private fun add(){
LogUtil.e("普通函数不带返回值")
}
-----------------------------------------------------------------------------------
gj{add()} //gj的函数型参数是不带返回值的,add不带返回值可以传
gj { red(1,2) } //gj的函数型参数不带返回值,red函数是带返回值的也能传
name { add() }