Object 吸锈剂-返回式

Object 吸锈剂-返回式,object,rust,Object,Rust,有没有办法在“getter”方法中替换返回类型 pub struct Foo { key: MyKey, value: usize, } impl Foo { pub fn value(&self) -> usize { ... } } 例如: pub fn value(&self) -> Typeof(Self.value) { ... } 谢谢不,Rust没有这种东西。如果要保存键入内容,可以使用宏生成getter。除非您自己创建宏

有没有办法在“getter”方法中替换返回类型

pub struct Foo {
  key: MyKey,
  value: usize,
}


impl Foo {
  pub fn value(&self) -> usize {
    ...
  }
}
例如:

pub fn value(&self) -> Typeof(Self.value) { ... }

谢谢

不,Rust没有这种东西。如果要保存键入内容,可以使用宏生成getter。

除非您自己创建宏来实现它,否则无法生成getter。根据非
pub
字段的类型来标记
pub fn
的签名似乎是一个好主意的反面。同意上面的评论。这感觉很方便(不必在更改变量类型时更改返回类型),但对于公共接口来说,您确实希望这样做不方便。更改API和ABI很可能会破坏任何使用此函数的代码。