在Rust中使用{}初始化新字符串

3

当我尝试使用占位符{}初始化一个字符串时,可以使用以下方式:

let range_from: u32 = 1;
let range_to: u32 = 101;
let insert_message = String::new("Please input Your guess in the range from {} to {}.", range_from, range_to);
println!("{}", insert_message);
// snip
println!("{}", insert_message);

它会抛出以下错误:

提供了3个参数 | | | 预期1个参数


3
format! 创建一个字符串,你可以使用它 (format!("... {} ... {}", range_from, range_to))。 - Sebastián Palma
1
太棒了@SebastianPalma,你的建议很有效。如果你把它变成一个答案,我很乐意将其标记为解决方案 :) - Jonas
1个回答

6

String::new 不能实现这个功能。你可以使用 format! 宏,像这样:

let insert_message = format!("Please input Your guess in the range from {} to {}.", range_from, range_to);

或者,在 Rust 1.58 版本中,您也可以这样做:

let insert_message = format!("Please input Your guess in the range from {range_from} to {range_to}.");

更多信息请参见此处


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接