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

相关推荐
爱勇宝11 小时前
我做了一个只用来搜歌词的小 App
android·前端·后端
众少成多积小致巨14 小时前
JNI (Java Native Interface) 技术手册中文参考指南
android·java·c++
唐青枫19 小时前
Kotlin Context Parameters 详解:别再把 Logger、事务和配置层层往下传
kotlin
Coffeeee20 小时前
如何使用Glide和Coil加载WebP动图
android·kotlin·glide
Kapaseker21 小时前
5 分钟搞懂 Kotlin DSL
android·kotlin
恋猫de小郭1 天前
AI Agent 开发究竟是啥?如何用 AI 开发 Agent ?深入浅出给你一套概念
android·前端·ai编程
黄林晴1 天前
Android 17 正式发布!target 37 一大批旧代码直接不能用了
android
Carson带你学Android1 天前
Android 17 正式发布:AI 终于成了系统能力
android·前端·ai编程
三少爷的鞋1 天前
当 UseCase 开始长期监听,它可能已经不是 UseCase 了
android
恋猫de小郭1 天前
Android 限制侧载新进展,谷歌联合国内厂商推验证计划
android·前端·flutter