一、let
1、let 是将一个lambda函数块block作为参数的函数
2、返回值为函数块的最后一行或指定return表达式
二、with:
1、with函数接受两个参数,第一个参数可以是一个任意类型的对象,第二个参数是一个Lambda表达式。
2、with函数会在Lambda表达式中提供第一个参数对象的上下文,返回值为表达式中的最后一行或指定return表达式
3、with提供第一个参数对象的上下文时,不改变参数对象的内部属性或方法
三、run:
1、run函数只接受一个Lambda参数,并且在Lambda表达式中提供调用对象的上下文
2、使用Lambda表达式中的最后一行代码作为返回值返回
3、run()函数和with()函数区别不大,with()函数需要传入一个参数,然后以这个参数作为上下文进行操作。run()函数不需要传入参数,但是他需要在一个对象的基础上进行操作
四、apply:
apply与run用法相似,不同点在于函数无法定义返回值,而是会自动返回调用对象本身而不是表达式最后一行。
五、总结: