Rust 函数模板使用例子

最基本的模板语法

fn template_fn<F>(mut num: F) -> F{
    num
}
 
fn main() {
    println!("{}",template_fn(2));
    println!("{}",template_fn(2.0));
    println!("{}",template_fn("123"));
    println!("{}",template_fn(std::string::String::from("456")));
}

稍微加点操作

fn template_fn<F:std::ops::Add<Output=F> + std::convert::From<i32> >(mut num: F) -> F{
    num = num + 2.into();
    num
}
 
fn main() {
    println!("{}",template_fn(2));
    println!("{}",template_fn(2.0));
}
1