结构体的方法

struct 的方法

方法和函数类似 : fn 关键字、名称、参数、返回值

方法与函数不同之处:

方法是在 struct (或enum、trait 对象)的上下文中定义。

第一个参数是self,表示方法被调用的struct实例。

结构体的方法定义

使用 impl 关键字定义结构体的方法。

#[derive(Debug)]
struct Rectangle{
    width: i32,
    height: i32
}
impl Rectangle {
    fn area(&self) -> i32 {
        self.width * self.height
    }
}
fn main() {
    let rect = Rectangle{width: 30, height: 50};
    println!("The area of the rectangle is {}", rect.area());
}

方法调用的运算符

Rust 会自动引用或解引用

在调用方法时就会发生这种行为

在调用方法时,Rust根据情况自动添加&、&mut或*,以便object 可以匹配方

法的签名。