一、 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(...)
}

更多推荐