为什么 dbg! 和 println!("{:?}") 显示不同的输出?

6

我曾认为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]

Playground link

1个回答

8

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接