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]

Spielplatz Link

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.

Verwandte Artikel


Warum geben mir Bitpuffer und Puffer unterschiedliche Ausgaben?

MartinElvar Ich versuche zu verstehen, was mit dem folgenden Code vor sich geht. console.log(buffer); >>> <Buffer d6 16 06 37 f7 42 56 f6 45 56 37 47 27 e3 22 36 07 07 e0 c0 b9 85 d9 01 58 db 1b 59 19 db dc 0b 1c 5b 58 5e 99 dc cb 58 dd 1c dd 5b db 17 1c 5b 58