方法和函数类似 : 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 可以匹配方
法的签名。