高阶函数
高阶函数就是以另一个函数作为参数或者返回值的函数。
函数类型

=== "Kotlin" kotlin class Person{ val sayHi={print("hi ${this} ")} } fun main() { val p = Person() println(p) val hi = p.sayHi; hi(); } //Person@4fca772d //hi Person@4fca772d === "JavaScript" javascript class Person{ sayHi(){ console.log(`Hi ${this}`); } } const p = new Person(); p.sayHi(); const sayHi = p.sayHi; sayHi(); Hi [object Object] Hi undefined
带有接收者的函数类型
Kotlin 提供了调用带有接收者(提供接收者对象)的函数类型实例的能力。
在这样的函数字面值内部,传给调用的接收者对象成为隐式的this,以便访问接收者对象的成员而无需任何额外的限定符,亦可使用 this 表达式 访问接收者对象。
这种行为与扩展函数类似,扩展函数也允许在函数体内部访问接收者对象的成员。
这里有一个带有接收者的函数字面值及其类型的示例,其中在接收者对象上调用了 plus :
匿名函数语法允许你直接指定函数字面值的接收者类型。 如果你需要使用带接收者的函数类型声明一个变量,并在之后使用它,这将非常有用。
调用作为参数的函数
在Java中使用函数类
函数类型的参数默认值和null值
返回函数的函数
通过lambda去除重复代码
最后更新于
这有帮助吗?