use std::collections::HashMap;
fn main() {
let mut hash = HashMap::new();
hash.insert("Daniel", "798-1364");
println!("{}", hash);
}
will fail to compile:
error[E0277]: `std::collections::HashMap<&str, &str>` doesn't implement `std::fmt::Display`
--> src/main.rs:6:20
|
6 | println!("{}", hash);
| ^^^^ `std::collections::HashMap<&str, &str>` cannot be formatted with the default formatter
|
Is there a way to say something like:
println!("{}", hash.inspect());
and have it print out:
1) "Daniel" => "798-1364"
Nate Mara
What you're looking for is the Debug
formatter:
use std::collections::HashMap;
fn main() {
let mut hash = HashMap::new();
hash.insert("Daniel", "798-1364");
println!("{:?}", hash);
}
This should print:
{"Daniel": "798-1364"}
See also:
halfelf
Rust 1.32 introduced the dbg
macro:
use std::collections::HashMap;
fn main() {
let mut hash = HashMap::new();
hash.insert("Daniel", "798-1364");
dbg!(hash);
}
This will print:
[src/main.rs:6] hash = {
"Daniel": "798-1364"
}
🎉
来源:https://stackoverflow.com/questions/39039700/how-do-i-print-variables-in-rust-and-have-it-show-everything-about-that-variable