点击领取优惠~
181 字
1 分钟
老生常谈run、let、also、with
run、let、apply、also、with都是Kotlin官方为我们提供的高阶函数,通常对比着4个操作符,
- 差异
我们关注receiver、argument、return之间的差异,如图所示

- 场景
简而言之
- run适用于在顶层进行初始化时使用
- let在被可空对象调用时,适用于做null值的检查,let在被非空对象调用时,适用于做对象的映射计算,比如说从一个对象获取信息,之后对另一个对象进行初始化和设置最后返回新的对象
- apply适用于做对象初始化之后的配置
- also适用于与程序本身逻辑无关的副作用,比如说打印日志等
老生常谈run、let、also、with