我以为dbg!(x)
和println!("{:?}", x)
都将打印相同的字符串,因为{:?}
用于调试输出,对吧?
如果我没记错的话,为什么我们看到这个结果,一个显示在一行上,而另一个显示在列表中?
fn main() {
let x: Vec<u32> = (0..10).collect();
println!("{:?}", x[0..1].to_vec());
dbg!(x[0..1].to_vec());
}
[src/main.rs:4] x[0..1].to_vec() = [
0,
]
[0]
答案 0 :(得分:4)
dbg!
does not use {:?}
but {:#?}
。
extra #
意味着dbg!
将使用替代格式,该格式使用更多的空格和换行符,而常规格式则更密集。