`:#?` 在 Rust 格式中意味着什么

Asc*_*ear 0 rust

format!("{:#?}", (100, 200));     // => "(
                                  //       100,
                                  //       200,
                                  //     )"
Run Code Online (Sandbox Code Playgroud)

有任何文档可以详细说明这种模式{:#?}吗?

Cha*_*man 6

?意味着调试格式(使用Debug而不是Display),#意味着漂亮地打印调试格式。例如:

#[derive(Debug)]
struct S {
    a: i32,
    b: i32,
}

fn main() {
    let v = S { a: 1, b: 2 };
    println!("{v:?}");
    println!("{v:#?}");
}
Run Code Online (Sandbox Code Playgroud)

打印(游乐场):

S { a: 1, b: 2 }
S {
    a: 1,
    b: 2,
}
Run Code Online (Sandbox Code Playgroud)

请参阅文档