kotlin匿名函数、具名函数、内联函数

匿名函数

fun main() {
    //匿名函数
    login("张三", "1234") {
        "匿名函数:${it}"
    }
}

inline fun login(name: String, pwd: String, result: (String) -> String) {
    //模拟服务端
    //.......
    println(result("登录成功 姓名:${name} ,密码${pwd}"))
}

执行结果:匿名函数:登录成功 姓名:张三 ,密码1234

具名函数

fun main() {
    //具名函数
    login("王五", "2222", ::showResultImpl)
}

fun showResultImpl(result: String): String {
    return "具名函数:${result}"
}

inline fun login(name: String, pwd: String, result: (String) -> String) {
    //模拟服务端
    //.......
    println(result("登录成功 姓名:${name} ,密码${pwd}"))
}

执行结果:具名函数:登录成功 姓名:王五 ,密码2222

内联函数

inline fun login(name: String, pwd: String, result: (String) -> String) {
    //模拟服务端
    //.......
    println(result("登录成功 姓名:${name} ,密码${pwd}"))
}

包含result: (String) -> String这种 “函数类型对象” 的函数,才可以用内联关键词 inline 修饰。

不使用inline

不使用内联.png

使用inline

使用内联.png


版权声明:本文为qq_42588016原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
THE END
< <上一篇
下一篇>>