kotlin高阶函数部分场景示例

Posted 安卓开发-顺

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kotlin高阶函数部分场景示例相关的知识,希望对你有一定的参考价值。

一、函数作为形参传入函数

需求:写一个方法名为“show”的函数,有两个入参,参数1是个boolean类型,参数2是一个回调函数,返回一个String类型的值

首先咱们先看下不用高阶怎么实现:

第一步:定义一个回调接口函数

interface KtCallback 
    fun show(info: String): String

第二步:写出此函数

/**
 * 普通函数 接口回调的形式
 */
fun show(isShow: Boolean, callback: KtCallback) 
    if (isShow) 
        val result = callback.show("普通 show")
        println("普通函数返回结果:$result")
    

第三步:外界调用

//普通函数调用
show(true, object : KtCallback 
    override fun show(info: String): String 
        println(info)
        return "普通 ok"
    
)

下面用高阶函数来实现这个需求

第一步:直接写出此函数

/**
 * 高阶函数 函数作为形参传入函数
 */
fun show(isShow: Boolean, callback: (String) -> String) 
    if (isShow) 
        val result = callback("高阶 show")
        println("高阶函数返回结果:$result")
    

第二步:外界调用,三种写法均可

//高阶写法一
show(true, callback = 
    println(it)
    "高阶 OK"
)
//高阶写法二
show(true, 
    println(it)
    "高阶 OK"
)
//高阶写法三
show(true) 
    println(it)
    "高阶 OK"

二、自定义扩展函数

以上是关于kotlin高阶函数部分场景示例的主要内容,如果未能解决你的问题,请参考以下文章

kotlin高阶函数部分场景示例

Kotlin小知识之高阶函数

kotlin学习之高阶函数及常用基本高阶函数

Kotlin用高阶函数处理集合数据

Kotlin语法总结:函数类型和高阶函数

Kotlin——高级篇:高阶函数详解与标准的高阶函数使用