Skip to content

高阶函数实现原理

zhangpan edited this page Aug 16, 2021 · 5 revisions

一、Kotlin的高阶函数

如果一个函数接收另一个函数作为参数,或者返回值的类型是另一个函数,那么该函数就称为高阶函数。

高阶函数的基本语法:(String,Int)-> Unit

->左边部分用来声明函数接收什么类型的参数,多个参数之间用逗号隔开,如果不接收任何参数,可用括号表示。而->右边部分用于声明该函数的返回类型,没有返回值就使用Unit,相当于void。

举个例子:

fun num1AndNum2(num1: Int, num2: Int, operation: (Int, Int) -> Int): Int {
    return operation(num1, num2)
}

上述函数接收两个Int类型的参数,和一个函数类型的参数。这个函数即为一个高阶函数。接下来看如何调用高阶函数。

首先定义连个函数

fun plus(num1: Int, num2: Int): Int {
    return num1 + num2
}

fun minus(num1: Int, num2: Int): Int {
    return num1 - num2
}

接着讲上述两个函数作为num1AndNum2函数的参数如下:

fun main() {
    val num1 = 100
    val num2 = 80
    val result1 = num1AndNum2(num1, num2, ::plus)
    val result2 = num1AndNum2(num1, num2, ::minus)
    print("result1 = $result1")
    print("result2 = $result2")
}

打印结果:

result1 = 180
result2 = 20

公众号:玩转安卓Dev

Java基础

面向对象与Java基础知识

Java集合框架

JVM

多线程与并发

设计模式

Kotlin

Android

Android基础知识

Android消息机制

Framework

View事件分发机制

Android屏幕刷新机制

View的绘制流程

Activity启动

性能优化

Jetpack&系统View

第三方框架实现原理

计算机网络

算法

其它

Clone this wiki locally