25-函数类型
7.5.2 函数类型
Rust中的函数也包含一种具体的类型,其参数类型和数目与它的实参有所不同,例如在示例中使用了多少个参数:
// function_types.rs
fn add_two(a: u32, b: u32) -> u32 {
a + b
}
fn main() {
let my_func = add_two;
let res = my_func(3, 4);
println!("{:?}", res);
}
在Rust中,函数可以存储在变量中,传递给其他函数或者从函数返回。前面的代码声明了一个函数add_two,我们将其存储在my_func中,稍后用3和4作为参数对它们进行调用。
提示
函数类型不应该与Fn闭包混淆,因为它们都用fn作为其类型签名前缀。