面试题答案
一键面试fn apply_operation<T, F>(a: T, b: T, op: F) -> T
where
F: Fn(T, T) -> T,
T: Copy,
{
op(a, b)
}
fn main() {
let add_i32 = |a: i32, b: i32| a + b;
let result_i32 = apply_operation(2i32, 3i32, add_i32);
println!("i32 result: {}", result_i32);
let add_f64 = |a: f64, b: f64| a + b;
let result_f64 = apply_operation(2.0f64, 3.0f64, add_f64);
println!("f64 result: {}", result_f64);
}