Kotlin作用域函数

kotlin中经常出现run、with、let、also、apply,开始时候容易迷糊,有什么用有什么区别?

一:作用

作用域函数 用于扩展方便开发者编码的内置函数,能大大提高开发者的开发效率。

首页明确一点他们都是锦上添花,不用一样可以写代码,但是优秀的代码必然需要使用作用域函数提高效率。

二:定义

Kotlin 标准库包含几个函数,它们的唯一目的是在对象的上下文中执行代码块。当对一个对象调用这样的函数并提供一个 lambda 表达式时,它会形成一个临时作用域。在此作用域中,可以访问该对象而无需其名称。这些函数称为作用域函数。共有以下五种:let、run、with、apply 以及 also。

这些函数基本上做了同样的事情:在一个对象上执行一个代码块。不同的是这个对象在块中如何使用,以及整个表达式的结果是什么。

作用域函数官方介绍

这里所说的标准函数主要来自于标准库中在文件Standard.kt中的所有函数。

Kotlin作用域函数_第1张图片
clipboard.png

三let例子

简化代码,方便统一判断空处理

Kotlin作用域函数_第2张图片
1.png
Kotlin作用域函数_第3张图片
2.png

五run、with、let、also、apply区别

Kotlin作用域函数_第4张图片
img
Kotlin作用域函数_第5张图片
3.png

https://juejin.im/post/5ae02dd051882567137dde82

https://www.jianshu.com/p/d9b2d8e83925

https://juejin.im/post/5a1be4cc51882512a86108f8

https://www.jianshu.com/p/e3ae07461a21

你可能感兴趣的:(Kotlin作用域函数)