stdfmtDebug

编译器derive debug,方便调试程序的时候输出。

#[derive(Default,Debug)]
struct Point {
    x: u32,
    y: u32,
}
 
fn main() {
    let option = Point::default();
    // 可以使用 :? 来输出
    println!("{option:?}")
}

stdfmtDisplay

/// 自定义类型 Error,需要实现std==fmt==Debug,这里直接使用 derive 即可
#[derive(Debug)]
pub struct CustomError {
    pub message: String,
}
 
/// 实现 Display,并实现fmt方法
impl std==fmt==Display for CustomError {
    fn fmt(&self, f: &mut std==fmt==Formatter<'_>) -> std==fmt==Result {
        write!(f, "CustomError: {}", self.message)
    }
}