Rust闭包的虫洞穿梭
1. 闭包是什么
闭包(Closure)的概念由来已久。无论哪种语言,闭包的概念都被以下几个特征共同约束:
匿名函数(非独有,函数指针也可以);
可以调用闭包,并显式传递参数(非独有,函数指针也可以);
以变量形式存在,可以传来传去(非独有,函数指针也可以);
可以在闭包内直接捕获并使用定义所处作用域的值(独有);
神奇的是最后一点,理解起来也比较别扭的,习惯就好了。
为了说明上述特征,可以看一个Rust例子。
fn display<T>(age: u32, print_info: T)...