一文带你了解kotlin中的闭包
相信不少搞java的童鞋刚开始都会困惑kotlin中经常中看到的闭包到底是个什么东西。我们简单点的理解就是{ },我们来举个例子如:fun test() { //闭包 }
然后我们在来看看闭包可以做些什么。首先闭包需要知道闭包有些什么
1.函数的运行环境
2.持有函数运行状态
3.支持在闭包里面定义函数
4.支持在闭包里面定义类
【一文带你了解kotlin中的闭包】在让我们来看一个例子
fun test(): () -> Unit { var a = 0 fun test2(){ print(a) } return fun() { a++ println(a) } }
我们可以看到在test函数里面又定义了一个test2()的函数 ,并且返回了一个函数 而这些在java中都是不支持的
而函数中可以定义函数和返回函数又有什么优势呢,我们再来看一个例子。
inline fun talk(area: (name:String)->String, noinline area2: (name:String)->String):String{ return area("你猴")+ area2("泥猴") }
调用:
talk({name ->"$name 1"},{name ->"$name 2"})
输出结果为
文章图片
我们可以将函数传递到另一个函数当中从而实现面试函数式编程。而面向函数式变成有什么好处我们在本文中就不做展开了
谢谢各位看官
推荐阅读
- 我们重新了解付费。
- 拍照一年啦,如果你想了解我,那就请先看看这篇文章
- C语言中的时间函数clock()和time()你都了解吗
- 不废话,代码实践带你掌握|不废话,代码实践带你掌握 强缓存、协商缓存!
- 操作系统|[译]从内部了解现代浏览器(1)
- 生发知识,带你深入了解
- 了解自然大气粒子对气候的影响
- 带你了解类型系统以及flow和typescript的基本使用
- 带你来看花
- 窝在家里,你闷坏了吗(了解这12个假设,给自己的心理增加免疫力)