如何在 Rust println 中直接使用函数 return 值
How to use function return value directly in Rust println
Rust 允许以这种方式格式化打印变量:
fn main(){
let r:f64 = rand::random();
println!("{}",r);
}
但这行不通:
fn main(){
println!("{}",rand::random());
}
它显示了这个错误:
|
31 | println!("{}",rand::random());
| ^^^^^^^^^^^^ cannot infer type for type parameter `T` declared on the function `random`
是否可以直接将函数 return 的值与 println!
一起使用?
Rust 不知道 rand::random
应该是什么类型,因此您可以使用 turbofish 来提供类型提示:
println!("{}", rand::random::<f64>());
println!("{}", rand::random::<f64>());
中的涡轮鱼 ::<f64>
强制 rand::random
的通用部分成为 f64
。在这种情况下,通用参数与 return 类型相匹配 - 但对于其他函数,情况并非如此。
在这种情况下,可以告诉编译器您想要的函数的 return 类型,而不是通用参数。在这种情况下,如果您使用的是夜间编译器,则可以使用 "type ascription".
println!("{}", rand::random(): f64);
Rust 允许以这种方式格式化打印变量:
fn main(){
let r:f64 = rand::random();
println!("{}",r);
}
但这行不通:
fn main(){
println!("{}",rand::random());
}
它显示了这个错误:
|
31 | println!("{}",rand::random());
| ^^^^^^^^^^^^ cannot infer type for type parameter `T` declared on the function `random`
是否可以直接将函数 return 的值与 println!
一起使用?
Rust 不知道 rand::random
应该是什么类型,因此您可以使用 turbofish 来提供类型提示:
println!("{}", rand::random::<f64>());
println!("{}", rand::random::<f64>());
中的涡轮鱼 ::<f64>
强制 rand::random
的通用部分成为 f64
。在这种情况下,通用参数与 return 类型相匹配 - 但对于其他函数,情况并非如此。
在这种情况下,可以告诉编译器您想要的函数的 return 类型,而不是通用参数。在这种情况下,如果您使用的是夜间编译器,则可以使用 "type ascription".
println!("{}", rand::random(): f64);