【发布时间】:2020-01-23 17:14:38
【问题描述】:
我想要根据类型注释返回不同类型值的函数,例如:
give_five::<String>(); // returns "five"
give_five::<i32>(); // returns 5
give_five::<f32>(); // return 5.0
我试着写,但它不起作用。我知道为什么它不起作用。但我不知道该怎么做。
fn give_five<String>() -> String {
String::from("five")
}
fn give_five<i32>() -> i32 {
5
}
fn give_five<f32>() -> f32 {
5.0
}
我从rand crate 得到这个想法。既然能做到
let mut rng = rand::thread_rng();
let x: i32 = rng.gen();
let y: f32 = rng.gen();
【问题讨论】:
标签: rust