Rust 结构中的自定义getter和setter
如何在结构中创建自定义的getter或setter:Rust 结构中的自定义getter和setter,rust,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) { } } 真正的生锈方法是什么?生锈没
struct MyStruct {
field1: int
}
impl MyStruct {
//getter
fn field1(self) -> int {
// some calculations....
// return the value...
}
//or
//setter
fn field1(self, value) {
}
}
真正的生锈方法是什么?生锈没有Python或C之类的东西♯ 目前的财产
foo.bar
是唯一的字段访问,而不是方法调用。通常,将字段公开是有意义的,但如果出于安全原因或需要产生副作用,您不想这样做,则可以使用fn field1(&self)->int
和fn set_field1(&mut self,value:int)
。如果我选择fn field1(&self)->int和fn set_field1(&mut self,值:int)
,如何将field1:int
设置为私有?@AlexanderSupertramp:默认情况下它是私有的。如果您希望它是公共的,您需要编写pub field1:int
。当一个人仅从其他模块访问时它不是私有的吗?@AlexanderSupertramp,是的,Rust只具有模块级隐私。如果您需要,请将程序拆分为较小的模块需要更细粒度的隐私控制。“公共可能只读”如何?这有时会很有用。