Kotlin提供了一系列用来在给定对象上下文中执行代码块的函数。要选择正确的函 数,请考虑以下几点:
1、是否在块中的多个对象上调用方法,或者将上下文对象的实例作为参数传递?如果是,那么使用以it 而不是 this形式访问上下文对象的函数之一(also或 let )。如果在代码块中根本没有用到接收者,那么使用also。
2、调用的结果是什么?如果结果需是该上下文对象,那么使用apply或also 。如果需要从代码块中返回一个值,那么使用 with 、 let 或者 run
3、上下文对象是否可空,或者是否作为调用链的结果求值而来的?如果是,那么 使用 apply、let 或者 run。否则,使用 with 或者 also。