kotlin 内联扩展函数 let with take run apply also

1 let
let扩展函数的实际上是一个作用域函数,当你需要去定义一个变量在一个特定的作用域范围内,let函数的是一个不错的选择;let函数另一个作用就是可以避免写一些判断null的操作。
代码段

object.let{
it.todo()//在函数体内使用it替代object对象去访问其公有的属性和方法
...
}

//另一种用途 判断object为null的操作
object?.let{//表示object不为null的条件下,才会去执行let函数体
it.todo()
}

2 with
它是将某对象作为函数的参数,在函数块内可以通过 this 指代该对象。返回值为函数块的最后一行或指定return表达式。

with(object){
 1 可以直接访问属性
  2 返回最后一行 或者直接return 返回
}

3 run
run函数实际上可以说是let和with两个函数的结合体,run函数只接收一个lambda函数为参数,以闭包形式返回,返回值为最后一行的值或者指定的return的表达式。

object?.run{
 1 可以直接访问属性
 2 可以通过加? 非空判断 来进行null判断
 3 返回最后一行 或者return 返回 
}

4 apply

object?.apply{
  1 通过this 访问属性
  2 返回对象本身
  3 可以进行非空判断
}

5 also

  object?.also{
   1 通过it访问属性
   2 返回对象本身
   3 可以进行非空判断
  }

你可能感兴趣的:(kotlin 内联扩展函数 let with take run apply also)