结构中的自定义getter和setter

时间:2014-10-30 01:36:59

标签: rust

如何在结构中创建自定义 getter或setter:

struct MyStruct {
  field1: int
}

impl MyStruct {

  //getter
  fn field1(self) -> int {
    // some calculations....
    // return the value...

  }

  //or
  //setter
  fn field1(self, value) {

  }

}

真正的Rust方式是什么?

1 个答案:

答案 0 :(得分:10)

Rust目前没有类似Python或C♯属性的东西; foo.bar只能进行字段访问,绝不是方法调用。通常将该领域公之于众是有道理的,但如果您出于安全原因或需要产生副作用而不想这样做,那么fn field1(&self) -> intfn set_field1(&mut self, value: int)是可以接受的。< / p>