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

相关推荐
witton1 小时前
Go语言网络游戏服务器模块化编程
服务器·开发语言·游戏·golang·origin·模块化·耦合
你过来啊你1 小时前
Android Handler机制与底层原理详解
android·handler
枯萎穿心攻击1 小时前
ECS由浅入深第三节:进阶?System 的行为与复杂交互模式
开发语言·unity·c#·游戏引擎
Jerry Lau2 小时前
go go go 出发咯 - go web开发入门系列(一) helloworld
开发语言·前端·golang
nananaij2 小时前
【Python基础入门 re模块实现正则表达式操作】
开发语言·python·正则表达式
Kapaseker2 小时前
当Object遇到Json你可能会碰到的坑
kotlin
Micro麦可乐2 小时前
Java常用加密算法详解与实战代码 - 附可直接运行的测试示例
java·开发语言·加密算法·aes加解密·rsa加解密·hash算法
RichardLai882 小时前
Kotlin Flow:构建响应式流的现代 Kotlin 之道
android·前端·kotlin
天下一般2 小时前
go入门 - day1 - 环境搭建
开发语言·后端·golang
雷羿 LexChien2 小时前
C++内存泄漏排查
开发语言·c++