kotlin常用表达式let,?:,as?,?.,!!
let
a?.let{it}
当a为null时,什么都不执行
当a不为null时,执行大括号里的语句(it肯定不为null)
object.let{
it.todo() //函数内使用it替代object对象访问属性和方法
}
object?.let{
it.todo() //object不为null,才会执行let函数
}
?:
a ?: b
当a!=null时,执行a
当a==null时,执行b
as?
a as? b
如果a 是 b,则 a as b
如果 a 不是 b,则为 null
?.
a?.b()
如果a != null,则a.b()
如果a == null ,则为 null
!!
a!!
如果a!=null,执行a
如果a==null,抛出空指针