我正在设计一个简单的结构,它将多个拥有的数据组合在一起。一旦数据进入结构体,我就不想将其暴露给突变。该结构的字段之一是字符串,我不确定如何通过其getter函数公开它。
想到的两种方法如下:
struct Foo {
bar: String,
}
impl Foo {
// Option 1
fn bar(&self) -> &String { ... }
// Option 2
fn bar(&self) -> &str { ... }
}
我不确定用Rust最干净的方法是什么。一般情况下哪个更好?这两个选项在概念上对API用户代表什么?