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

你可能感兴趣的:(kotlin,开发语言,android)