let的返回值

来源:5-3 常见高阶函数(forEach,map,flatmap,fold,reduce,filter,takeWhile,let,apply,with,use)-2

慕尼黑9447469

2019-11-14

val person = findPerson()?.let{ person->
person.name = “sda” //
println(person.age)
person.age = 1
}
老师,问一下,这个let的返回值到底是什么意思…

写回答

2回答

bennyhuo

2019-11-14

let的返回值是lambda的返回值,你贴的代码是person.xxx=yyy的值也就是Unit了,而let前面是 ?.,所以最终赋值给变量变量的类型是Unit?类型

1
2
慕尼黑9447469
嗯嗯,后来已经弄清楚啦
2019-11-14
共2条回复

bennyhuo

2019-11-14

这里用also更合适,also的返回值是receiver

0
1
慕尼黑9447469
好的,回头去看一下~
2019-11-14
共1条回复

Android首选开发语言Kotlin入门与进阶

Google I/O大会钦定Android一级开发语言,现在不学,等待何时

3122 学习 · 387 问题

查看课程