掌握经典结构体、元组结构体与单元结构体,理解 impl 块中 self、&self 与 &mut self 的方法接收器语义。

1. 结构体定义与方法

#[derive(Debug)]
struct Rectangle {
    width: u32,
    height: u32,
}

impl Rectangle {
    // 关联函数(类似静态构造器)
    fn square(size: u32) -> Self {
        Self { width: size, height: size }
    }

    // 不可变借用方法
    fn area(&self) -> u32 {
        self.width * self.height
    }

    // 可变借用方法
    fn scale(&mut self, factor: u32) {
        self.width *= factor;
        self.height *= factor;
    }
}