高级函数与闭包

函数指针

函数满足类型 fn,fn 被称为函数指针。通过函数指针允许我们使用函数作为另一个函数的参数。

函数指针实了所有三个闭包 trait (Fn,FnMut,FnOnce),所以总是可以在调用闭包的函数时传递函数指针作为参数。 倾向于编写使用泛型和闭包 trait 的函数,这样它就能接受函数或闭包作为参数。

返回闭包

闭包表现为 trait ,这意味着不能直接返回闭包。对于大部分需要返回 trait 的情况,可以使用实现了期望返回的 trait 的具体类型来替代函数的返回值。