【发布时间】:2020-02-23 23:51:22
【问题描述】:
我有一个可以为空的 lambda 参数定义为的函数 -
fun download_a_file(callback_after_download_is_complete: (() -> Any)? = null)
{
// ... do things ...
}
想法是,文件下载后,调用函数的人可以传递一个lambda函数,在文件下载后执行一些代码。
该参数为空,因为有人可能不希望下载 lambda。
所以在 download_a_file function 里面我有这个代码 -
if( callback_after_download_is_complete != null)
callback_after_download_is_complete()
有效,但不优雅。如果可以的话,我宁愿在这里使用猫王运算符。 但是,我没有找到任何关于如何使用 elvis 运算符调用可为空的 lambda 参数的好的参考资料。你能做到吗?如果是这样 - 怎么样?
【问题讨论】:
标签: kotlin operator-keyword nullable