面试题答案
一键面试fn call_closure<F>(closure: F) -> i32
where
F: Fn(i32, i32) -> i32,
{
closure(1, 2)
}
闭包参数的类型约束通过 where F: Fn(i32, i32) -> i32
体现,这里 Fn(i32, i32) -> i32
表明传入的闭包 closure
必须接受两个 i32
类型参数,并返回一个 i32
类型的结果。Fn
是Rust中闭包的一种trait,用于标记可以像普通函数一样调用的闭包。这种约束确保了在函数 call_closure
内部调用闭包时,参数和返回值类型是符合预期的。