kotlin 的函数参数

https://blog.csdn.net/yoonerloop/article/details/123241451

一、无参数的函数参数

1、回调

//定义

interface OnClickListener {

fun onClick()

}

private fun setOnClickListener(listener: OnClickListener) {

}

//使用

setOnClickListener(object : OnClickListener {

override fun onClick() {

}

})

2、闭包

//定义

private fun setOnClickListener(listener: () -> Unit) {

}

//使用

setOnClickListener {

}

二、一个参数的函数参数

//定义

interface OnClickListener {

fun onClick(index: Int)

}

private fun setOnClickListener(listener: (index: Int) -> Unit) {

}

//一个参数可以使用it替代参数

setOnClickListener {

Log.d("TAG", "onClick: $it")

}

三、两个参数的函数参数

//定义

interface OnClickListener {

fun onClick(index: Int, item: String)

}

private fun setOnClickListener(listener: (index: Int, item: String) -> Unit) {

}

//使用

setOnClickListener { index, item ->

Log.d("TAG", "onClick: $index")

Log.d("TAG", "onClick: $item")

}

四、函数参数有返回值

//定义

interface OnClickListener {

fun onClick(index: Int, item: String): Boolean

}

private fun setOnClickListener(listener: (index: Int, item: String) -> Boolean) {

}

//使用

setOnClickListener { index, item ->

Log.d("TAG", "onClick: $index")

Log.d("TAG", "onClick: $item")

true

}


版权声明:本文为CSDN博主「一杯清泉」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/yoonerloop/article/details/123241451

相关推荐
美狐美颜SDK开放平台3 分钟前
直播APP开发,美颜SDK和相机SDK有什么区别?
android·深度学习·数码相机·ios·直播美颜sdk·视频美颜sdk
库克克6 分钟前
【C++】C++11 包装器function 与 绑定器 bind
开发语言·c++
多加点辣也没关系15 分钟前
JavaScript|第30章:事件机制
开发语言·javascript
小大宇15 分钟前
python milvus 案例
开发语言·python·milvus
Gauss松鼠会26 分钟前
【GaussDB】GaussDB锁阻塞源头查询
java·开发语言·前端·数据库·算法·gaussdb·经验总结
mingo_敏43 分钟前
DeepAgents : 后端(Backends)
java·开发语言
mabing9931 小时前
Qt QMessageBox、QDialogButtonBox中英文翻译动态切换
开发语言·qt
Sagittarius_A*1 小时前
【RCELABS】Level 17~18 —— PHP命令执行函数与环境变量注入
开发语言·安全·web安全·靶场·php·rce
冻柠檬飞冰走茶1 小时前
PTA基础编程题目集 7-19 支票面额(C语言实现)
c语言·开发语言·数据结构·算法
破碎的南瓜1 小时前
靶场中使用到的php函数以及每种漏洞的防御方式
开发语言·php