一、 let关键字的使用
let扩展函数的实际上是一个作用域函数,当你需要去定义一个变量在一个特定的作用域范围内,let函数的是一个不错的选择;
let可以配合可空性 “?”来使用,如果data=null 则不执行let内部代码,如果有返回值则直接返回null在let中,用it表示引用对象,并可调用其方法,it不可省略。
返回值是语句块的最后一行的返回类型,若最后一行语句无返回值,则整个let语句块也无返回值
- 1、基本使用
object.let{
it.todo()//在函数体内使用it替代object对象去访问其公有的属性和方法
...
}
//另一种用途 判断object为null的操作
object?.let{//表示object不为null的条件下,才会去执行let函数体
it.todo()
}
var list :ArrayList<Int>? = ArrayList()
list?.let{
it.add(1)
it.add(2)
}
print(list)
- 2、 let函数使用前后对比
mVideoPlayer?.setVideoView(...)
mVideoPlayer?.setControllerView(...)
mViedoPlayer?.setCurtainView(...)
//使用let函数以后
mViedeoPlayer?.let{
it.setVideoView(...)
it.setControllerView(...)
it.setCurtainView(...)
}