Kotlin函数参数

一、无参数的函数参数

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
}

你可能感兴趣的:(kotlin,kotlin,回调,闭包)