MST
星途 面试题库

面试题:Rust中impl关键字在实现闭包时的基础应用

请使用impl关键字实现一个闭包,该闭包接受两个i32类型的参数并返回它们的和。解释在这个过程中impl关键字的作用及闭包的类型是如何确定的。
30.5万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

一键面试
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