MST

星途 面试题库

面试题:Rust中#[derive(Debug)]属性的常见应用场景

请阐述在Rust语言中,#[derive(Debug)]属性一般会在哪些场景下使用,并且举例说明如何在自定义结构体或枚举上使用该属性以方便调试。
39.3万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

一键面试

适用场景

  1. 开发调试阶段:在开发过程中,快速查看结构体或枚举实例的内部状态,无需手动实现复杂的打印逻辑。
  2. 排查错误:当程序出现问题时,通过Debug输出可以清晰了解变量的具体值,辅助定位错误。
  3. 日志记录:在记录日志时,方便将相关数据结构的内容记录下来,便于分析程序运行情况。

结构体示例

#[derive(Debug)]
struct Point {
    x: i32,
    y: i32,
}

fn main() {
    let p = Point { x: 10, y: 20 };
    println!("{:?}", p);
}

枚举示例

#[derive(Debug)]
enum Color {
    Red,
    Green,
    Blue,
}

fn main() {
    let c = Color::Green;
    println!("{:?}", c);
}