我想显示球员的姓名和分数,但我不知道如何打印不带引号的姓名:
#[derive(Debug, Clone)]
struct Player {
name: String,
score: i32,
turn_count: i32,
}
fn main() {
let players: Vec<Player> = ...;
for player in players {
println!("{:X?} {:?}", player.name, player.score);
}
}
Run Code Online (Sandbox Code Playgroud)
#[derive(Debug, Clone)]
struct Player {
name: String,
score: i32,
turn_count: i32,
}
fn main() {
let players: Vec<Player> = ...;
for player in players {
println!("{:X?} {:?}", player.name, player.score);
}
}
Run Code Online (Sandbox Code Playgroud)
您正在使用?which 使用std::fmt::Debug特征而不是进行格式化Display。调试格式化程序打印带引号的字符串,而普通格式化程序则不打印。
let cat = "Cat";
println!("{:?}", cat);
println!("{}", cat);
Run Code Online (Sandbox Code Playgroud)
"Cat"
Cat
Run Code Online (Sandbox Code Playgroud)
查看std::fmt文档和格式化打印教程以了解更多详细信息。