面试题答案
一键面试fn main() {
let add = impl Fn(i32, i32) -> i32 {
|a, b| a + b
};
let result = add(3, 5);
println!("The sum is: {}", result);
}
在这个过程中,impl
关键字的作用是实现了一个匿名闭包类型,它实现了Fn
这个trait,该trait允许这个闭包像函数一样被调用。闭包的类型是通过其实现的Fn
trait以及它接受的参数类型和返回值类型共同确定的。在这里,闭包接受两个i32
类型参数并返回i32
类型,所以其类型是impl Fn(i32, i32) -> i32
。