方法
Rust 允许您将函数与新类型相关联。您可以使用“impl”块来执行此操作:
#[derive(Debug)] struct Person { name: String, age: u8, } impl Person { fn say_hello(&self) { println!("Hello, my name is {}", self.name); } } fn main() { let peter = Person { name: String::from("Peter"), age: 27, }; peter.say_hello(); }
关键点:
- 引入方法时,将方法与函数进行比较会很有帮助。
- 在某种类型(例如结构体或枚举)的实例上调用方法,第一个参数将该实例表示为“self”。
- 开发者可能会选择使用方法,以便利用方法接收器语法并让方法更有条理。通过使用方法,我们可以将所有实现代码保存在一个可预测的位置。
- 指出关键字“self”的用法,它是一种方法接收器。
- 显示它是“self: Self”的缩写术语,或许要显示结构体名称的可能用法。
- 说明“Self”是“impl”块所属类型的类型别名,可以在块中的其他位置使用。
- 指出“self”的使用方式与其他结构体一样,并且可以使用点表示法来指代各个字段。
- 这可能是演示“&self”和“self”差别的好时机,您只要修改代码并尝试执行 say_hello 两次即可。
- 下面,我们将介绍方法接收器之间的区别。