请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

let的返回值

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

正在回答

2回答

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

1 回复 有任何疑惑可以回复我~
  • 提问者 慕尼黑9447469 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2019-11-14 12:58:27
  • 提问者 慕尼黑9447469 #2
    嗯嗯,后来已经弄清楚啦
    回复 有任何疑惑可以回复我~ 2019-11-14 12:59:17
bennyhuo 2019-11-14 12:49:12

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

0 回复 有任何疑惑可以回复我~
  • 提问者 慕尼黑9447469 #1
    好的,回头去看一下~
    回复 有任何疑惑可以回复我~ 2019-11-14 12:59:37
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信