关键词: Kotlin,Unit,() -> Unit,闭包,函数返回
原本想了解一下Kotlin中的() -> Unit是什么意思,结果学习了一波Kotlin的函数闭包
以下是经过学习之后,自我思考,而做下的笔记,其中有很详细的函数分析
有什么问题可以在评论区和我聊。
// accumulate是一个无参数的,返回"函数类型"的,函数
// "accumulate()"表示:是一个无参数的,名为accumulate的函数,记作函数A
// "() -> Unit"表示; 这是一个无参数的,返回空值Unit的,函数类型,暂记作函数B
// 将这个函数B,"() -> Unit",作为返回值,即返回一个是“函数类型”的返回值
// 在函数accumulate()中,即返回这个东东,"{ println(count++) }",这个代码块,block
// 但是注意,此时,这个block,是不会运行里面的内容的
// 因为它仍表示为一个函数类型的对象,只有在这个函数类型对象后加一个"()"
// 这个block,才会被激活
fun accumulate():() -> Unit{
var sum = 0
return {
println(sum++)
}
}
fun main(args: Array<String>) {
// 这里定义counting = accumulate(),则count