Kotlin 语法基础大全,从例子着手的 从0到1的学习 -- 基础介绍
Kotlin 语法基础大全,从例子着手的 从0到1的学习 -- 流程控制
Kotlin 语法基础大全,从例子着手的 从0到1的学习 -- 特殊的类
Kotlin 语法基础大全,从例子着手的 从0到1的学习 -- 函数
Kotlin 语法基础大全,从例子着手的 从0到1的学习 -- 集合
Kotlin 语法基础大全,从例子着手的 从0到1的学习 -- 作用域
Kotlin 语法基础大全,从例子着手的 从0到1的学习 -- 代理
Kotlin 语法基础大全,从例子着手的 从0到1的学习 --c
Kotlin 语法基础大全,从例子着手的 从0到1的学习 -- kotlin与js
翻译来源
高阶函数 是以另一个函数为参数或者返回值的函数。
fun calculate(x: Int, y: Int, operation: (Int, Int) -> Int): Int { // 1
return operation(x, y) // 2
}
fun sum(x: Int, y: Int) = x + y // 3
fun main() {
val sumResult = calculate(4, 5, ::sum) // 4
val mulResult = calculate(4, 5) { a, b -> a * b } // 5
println("sumResult $sumResult, mulResult $mulResult")
}
::sum
。::
在kotlin中是一个使用名字来提取方法的符号。fun operation(): (Int) -> Int { // 1
return ::square
}
fun square(x: Int) = x * x // 2
fun main() {
val func = operation() // 3
println(func(2)) // 4
}
(Int) -> Int
的写法是申明的返回值的函数的结构。这里定义了返回square
函数square
的函数,他的作用是返回x*x
operation()
返回的func
就是square
方法func
。这里square
方法会被执行、Lambda表达式是一种为了方便创建函数对等式(就是 相当于一种函数)。
Kotlin 语法基础大全,从例子着手的 从0到1的学习 -- 函数
原文:https://www.cnblogs.com/bokmark/p/13884894.html