Warum dbg! und println! ("{:?}") zeigen unterschiedliche Ausgaben?
Maximilian
Ich hatte das gedacht dbg!(x)
und println!("{:?}", x)
würde beide die gleiche Zeichenfolge drucken, da {:?}
sie für die Debug-Ausgabe verwendet wird, oder?
Wenn ich mich nicht irre, warum sehen wir dieses Ergebnis, wobei eines die Liste in einer einzelnen Zeile und eines die Liste in mehreren Zeilen anzeigt?
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]
mcarton
dbg!
nicht verwendet , {:?}
aber{:#?}
.
Das zusätzliche#
Mittel, dbg!
das die alternative Formatierung verwendet, die mehr Leerzeichen und Zeilenumbrüche verwendet, während die reguläre Formatierung dichter ist.