如果实现了Display
特性,则打印变量;否则使用Debug
特性。所有类型在编译时均已知。
let display = MyDisplayType::new(); // implements Display
let debug = MyDebugType::new(); // implements Debug
output!(display); // uses Display a.k.a. println!("{}", display);
output!(debug); // uses Debug a.k.a. println!("{:?}", debug);
什么是最干净的方法?