MST

星途 面试题库

面试题:Rust闭包作为函数参数与泛型的结合应用

编写一个泛型函数,它接受一个闭包作为参数,该闭包可以处理不同类型的参数(例如i32和f64)并返回处理后的结果。在主函数中,分别使用i32和f64类型的数据调用这个泛型函数,并传入相应处理逻辑的闭包,展示如何正确实现和调用。
40.8万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

一键面试
fn process_with_closure<F, T>(closure: F, data: T) -> T
where
    F: Fn(T) -> T,
{
    closure(data)
}

fn main() {
    // 使用i32类型数据调用
    let i32_result = process_with_closure(|num: i32| num * 2, 5);
    println!("i32处理结果: {}", i32_result);

    // 使用f64类型数据调用
    let f64_result = process_with_closure(|num: f64| num * 2.0, 5.5);
    println!("f64处理结果: {}", f64_result);
}