从源码角度理解Kotlin的apply,also以及run、with、 let函数的区别

这几个函数容易混淆,其实可以分组记忆,像我的标题一样,apply,also是一组,run with let是一组,为什么呢,因为他们有相似性

apply和also返回自身
run,with,let返回的是函数块的返回结果

看下源码加深下印象


apply和also返回自身

run,with,let返回的是函数块的返回结果

另外一个区别就是函数块中是用it还是直接引用属性,这里也可以从源码看出来,
比如apply和also,可以看到also是用it


also用it

如果记不住也没关系,使用android studio的时候是有提示的,提示用this的时候直接用属性,提示用it的时候就用it


android studio 的提示

参考:https://www.jianshu.com/p/73c54e35ce25

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容