rust怎么给一个函数传一个闭包类型的参数?
时间: 2024-05-06 10:21:43 浏览: 95
(Swift)闭包作为方法参数
可以使用泛型和 trait bound 来实现函数传递闭包类型参数。具体的语法为:
```
fn some_func<F>(closure: F)
where
F: Fn(i32) -> i32
{
// 函数体
}
```
其中泛型 `F` 代表闭包类型,而 trait bound `F: Fn(i32) -> i32` 表示泛型 `F` 必须实现 `Fn(i32) -> i32` 这个 trait,即必须是一个输入为 i32 类型,输出为 i32 类型的闭包。在函数体内可以直接调用传入的闭包 `closure`。
阅读全文