方法

方法的标注和函数类似:

  1. struct Owner(i32);
  2. impl Owner {
  3. // 标注生命周期,就像独立的函数一样。
  4. fn add_one<'a>(&'a mut self) { self.0 += 1; }
  5. fn print<'a>(&'a self) {
  6. println!("`print`: {}", self.0);
  7. }
  8. }
  9. fn main() {
  10. let mut owner = Owner(18);
  11. owner.add_one();
  12. owner.print();
  13. }

译注:方法一般是不需要标明生命周期的,因为 self 的生命周期会赋给所有的输出 生命周期参数,详见 TRPL

参见:

methods