如何在结构中创建自定义 getter或setter:
struct MyStruct {
field1: int
}
impl MyStruct {
//getter
fn field1(self) -> int {
// some calculations....
// return the value...
}
//or
//setter
fn field1(self, value) {
}
}
Run Code Online (Sandbox Code Playgroud)
什么是真正的Rust方式呢?
Chr*_*gan 10
Rust目前没有像Python或C♯属性那样的东西; foo.bar只进行字段访问,从不进行方法调用.通常是有意义的只是让业界人士,但如果你不想这样做,为了安全或者需要有副作用,其原因fn field1(&self) -> int和fn set_field1(&mut self, value: int)是可以接受的.