android - 如何在 kotlin 中将函数作为参数传递 - Android
问题描述
如何使用 Kotlin 在 android 中传递函数。如果我知道以下功能,我可以通过:
fun a(b :() -> Unit){
}
fun b(){
}
我想传递任何函数,比如 ->
fun passAnyFunc(fun : (?) ->Unit){}
解决方案
您可以使用匿名函数或 lambda,如下所示
fun main(args: Array<String>) {
fun something(exec: Boolean, func: () -> Unit) {
if(exec) {
func()
}
}
//Anonymous function
something(true, fun() {
println("bleh")
})
//Lambda
something(true) {
println("bleh")
}
}
推荐阅读
- automation - 从支持导入文件以用于集成测试用例的问题
- ios - Snapkit - right.width.center 和 right, width, center 有区别吗?
- css - 尝试导入错误:“createGlobalStyle”未从“样式组件”导出
- django - 如何修复“M”值必须为 True 或 False
- python - 请求标头中的签名密钥
- react-native - React Navigation,是否有一种简单的方法覆盖 onClick 抽屉导航器,或返回堆栈顶部?
- matplotlib - Jupyter 没有显示正确的 matplotlib 图和 seaborn 图
- firebase-realtime-database - 更新 Post (Firebase) 中的点赞数
- battery - 我们可以使用 pvlib 逆变器功能为电池存储系统的 DC-DC 转换器建模吗?
- google-cloud-firestore - Cloud Firestore 函数触发器和事务 - 如何正确返回承诺