云梦建站,多用户商城思维导图,营销型 展示类网站模板,做网站域名和空间费1.使用普通方法对集合的第一个元素相加
fun main() {//使用普通方法对集合的第一个元素相加var list listOf(1,2,3,4,5)var value1list.first()var resultvalue1value1println(result)
}执行结果 2.使用let内置函数对集合的第一个元素相加
package Stage3fun main() {//使用…1.使用普通方法对集合的第一个元素相加
fun main() {//使用普通方法对集合的第一个元素相加var list listOf(1,2,3,4,5)var value1list.first()var resultvalue1value1println(result)
}执行结果 2.使用let内置函数对集合的第一个元素相加
package Stage3fun main() {//使用普通方法对集合的第一个元素相加var list listOf(1,2,3,4,5)var value1list.first()var resultvalue1value1println(普通方式$result)//let方法val result2listOf(1,2,3,4,5).let {//itlist集合it.first()it.first()//匿名函数的最后一行作为返回值let特点 上文的apply永远返回对象本身}println(let方式$result2)}执行结果 3.apply和let的对比
apply函数的返回值类型永远都是对象本身let函数的返回值类型根据最后一行的类型变化而变化。apply函数匿名函数里面持有的是this,let函数里面持有的是it
4.普通方式对值判null
package Stage3fun main() {//使用普通方法对集合的第一个元素相加var list listOf(1,2,3,4,5)var value1list.first()var resultvalue1value1println(普通方式$result)//let方法val result2listOf(1,2,3,4,5).let {//itlist集合it.first()it.first()//匿名函数的最后一行作为返回值let特点 上文的apply永远返回对象本身}println(let方式$result2)//普通方式对值判nullprintln(isNullvalue(null))
}fun isNullvalue(value:String?)if(valuenull)我是null else 我是$value执行结果 5.let空合并操作符方式对值判null,并返回
package Stage3fun main() {//使用普通方法对集合的第一个元素相加var list listOf(1,2,3,4,5)var value1list.first()var resultvalue1value1println(普通方式$result)//let方法val result2listOf(1,2,3,4,5).let {//itlist集合it.first()it.first()//匿名函数的最后一行作为返回值let特点 上文的apply永远返回对象本身}println(let方式$result2)//普通方式对值判null并返回println(普通方式${isNullvalue(null)})//let空合并操作符对值判null并返回println(let空合并操作符正常写法对值判null${isNullvalue2(null)})//简化写法println(let空合并操作符简化写法对值判null${isNullvalue3(null)})
}
//简化写法
fun isNullvalue3(value: String?)value?.let {it
}?:简化写法我是null//正常写法
fun isNullvalue2(value: String?): String? {return value?.let {it}?:我是null
}fun isNullvalue(value:String?)if(valuenull)我是null else 我是$value执行结果