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
使用inline
版权声明:本文为qq_42588016原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。