struct AType {
inner: Vec<String>
}
impl AType {
pub fn inner(&self) -> T {}
pub fn inner_mut(&mut self) -> &mut Vec<String> {
&mut self.inner
}
}
这里 AType::inner()
返回 &[String]
还是 &Vec<String>
更好呢
似乎前者更被推荐,但是这样就和 AType::inner_mut()
的返回类型不一致了 (虽然后者也差了个 mut),有点纠结
1
共 3 条评论, 1 页
评论区
写评论返回
&Vec<String>
有一个优点就是你可以把返回值传给接受&[String]
的函数:foo(s: &[String]) {...}
.但返回&[String]
就不能传进接受&Vec<String>
的函数:foo(s: &Vec<String>)
.所以
inner_mut()
已经决定返回&mut Vec<String>
了,现在在纠结inner()
返回哪个 (都是不可变的)--
👇
TiceCosmos: 切片只能修改 Vec还可增删
切片只能修改 Vec还可增删