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() }
Kotlin高阶函数详解
本文探讨了Kotlin的高阶函数特性,包括函数参数为函数类型或返回值为函数类型,以及内联函数的优势。通过示例展示了如何定义和使用高阶函数,解释了内联函数如何避免匿名类对象的创建,以及内联与非内联函数在参数传递和返回行为上的差异。
订阅专栏 解锁全文
301

被折叠的 条评论
为什么被折叠?



