高阶函数是操作其他函数的函数。举个例子,一个函数可以将其他函数作为参数和/或产生一个函数作作为它的返回值。精巧的 功能技术是非常强大的构造,可在Javascript或其他高级语言比如python,lisp等中使用。 我们来创建两个简单的函数,add_2 和 double ,和一个高阶函数 map 。map 接受两个参数,func 和 list (它的声明因此为map(func,list)),返回一个数组。
高阶函数与普通函数的不同在于,它可以使用一个或多个函数作为参数,可以将函数作为返回值。rust的函数是first class type,所以支持高阶函数。而,由于rust是一个强类型的语言,如果要将函数作为参数或返回值,首先需要搞明白函数的类型。下面先说函数的类型,再说函数作为参数和返回值。函数类型前面说过,关键字fn可以用来定义函数。除此以外,它还用来构造函数类型。
关注时代Java