根据国外一个大佬的视频,用文字表达出来这几者的关系
1、let
如第一张图所示,使用let,返回的是let作用域的最后一行(val number2=it+1),如图二所示,是一个unit; 改成图三的样子,那返回的是(it+1)的结果,答案如图四所示。
来个let的技巧
这个意思是number不等于空的时候执行作用域里面的逻辑,如果等于空就将下面那个赋值给a
2、also
简单易懂点就是:先把i*i保存在i中,还想i++ ,可以理解为先处理了前面的逻辑,also我还想多加一个操作
3、apply、run
apply的话就是返回Intent这个对象,并且里面包含了putExtra、action的数据了;而run的话只返回最后的一行(因为最后一行是action=“”),所以是unit;很多人误以为是返回最后一行的结果,但并不是结果,而是最后一行整一行。但是run也可以做到apply的结果,只需要加多一行返回一个this,如最后一图