如何打印不带引号的字符串?

swi*_*ing 5 rust

我想显示球员的姓名和分数,但我不知道如何打印不带引号的姓名:

#[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)

Jos*_*uth 8

您正在使用?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文档和格式化打印教程以了解更多详细信息。