Rust中如何打印不带引号的字符串?解决玩家姓名输出带引号问题
Rust打印玩家姓名不带引号的解决方法
你当前使用{:X?}和{:?}调用的是Debug格式化规则,Rust里String类型的Debug输出会自动添加引号。要去掉引号,改用默认的Display格式化(即{})即可——String实现了Display trait,会直接输出字符串本身的内容,不会额外添加引号。
修改后的代码:
#[derive(Debug, Clone)] struct Player { name: String, score: i32, turn_count: i32, } fn main() { let players: Vec<Player> = ...; for player in players { // 用{}代替{:X?}来格式化姓名 println!("{} {:?}", player.name, player.score); } }
如果你的玩家姓名原本不是大写,想要输出大写格式的姓名,可以调用String的to_uppercase()方法:
println!("{} {:?}", player.name.to_uppercase(), player.score);
修改后会得到你想要的输出:
STUART 23 KEVIN 0 BOB 5
内容的提问来源于stack exchange,提问作者swimming
相关产品推荐
相关产品推荐

