如何实现Kotlin中将函数作为参数传递的高级用法?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1031个文字,预计阅读时间需要5分钟。
Kotlin 高阶函数(1)—— 函数作为参数传递 + 话题背景 + Kotlin 语法中,存在高阶函数的概念。那么什么是高阶函数呢?高阶函数的定义是:一个函数,如果它的参数或返回值是函数,或者两者都是函数,那么它就是一个高阶函数。简单来说,高阶函数就是将函数作为参数或返回值的函数。
kotlin高阶函数(1)——将函数作为参数传递
问题背景
kotlin语言中,有个高阶函数的概念,那么什么是高阶函数呢? 高阶函数的定义:一个函数如果参数类型是函数或者返回值类型是函数,那么这就是一个高阶函数。 现在我们来看第一个:Kotlin 支持函数作为参数传递,无需构建对象来包装函数。
问题分析
(1)函数类型
kotlin 中,有整型 Int、字符串类型 String,同样函数也有类型,举个例子:
fun add(num1: Int, num2: Int): Int { return num1 + num2 }这个 add 函数的函数类型就是 (Int, Int) -> Int,函数类型其实就是将函数的 “参数类型” 和 “返回值类型” 抽象出来。 那么怎么给 c 这个变量赋值呢?具体写法如下所示:
val c: (Int, Int) -> Int = ::add fun add(num1: Int, num2: Int): Int = num1 + num2::add 这种写法是一种函数引用方式的写法。除了函数引用这种方式外,Kotlin 还支持用 Lambda 表达式对一个函数类型的变量进行赋值。
本文共计1031个文字,预计阅读时间需要5分钟。
Kotlin 高阶函数(1)—— 函数作为参数传递 + 话题背景 + Kotlin 语法中,存在高阶函数的概念。那么什么是高阶函数呢?高阶函数的定义是:一个函数,如果它的参数或返回值是函数,或者两者都是函数,那么它就是一个高阶函数。简单来说,高阶函数就是将函数作为参数或返回值的函数。
kotlin高阶函数(1)——将函数作为参数传递
问题背景
kotlin语言中,有个高阶函数的概念,那么什么是高阶函数呢? 高阶函数的定义:一个函数如果参数类型是函数或者返回值类型是函数,那么这就是一个高阶函数。 现在我们来看第一个:Kotlin 支持函数作为参数传递,无需构建对象来包装函数。
问题分析
(1)函数类型
kotlin 中,有整型 Int、字符串类型 String,同样函数也有类型,举个例子:
fun add(num1: Int, num2: Int): Int { return num1 + num2 }这个 add 函数的函数类型就是 (Int, Int) -> Int,函数类型其实就是将函数的 “参数类型” 和 “返回值类型” 抽象出来。 那么怎么给 c 这个变量赋值呢?具体写法如下所示:
val c: (Int, Int) -> Int = ::add fun add(num1: Int, num2: Int): Int = num1 + num2::add 这种写法是一种函数引用方式的写法。除了函数引用这种方式外,Kotlin 还支持用 Lambda 表达式对一个函数类型的变量进行赋值。

