【发布时间】:2014-04-11 21:00:04
【问题描述】:
编者注:此问题中的语法早于 Rust 1.0,1.0 更新的语法会产生不同的错误,但总体概念在 Rust 1.0 中仍然相同。
我有一个带有name 字段的结构T,我想从name 函数返回该字符串。我不想复制整个字符串,只复制指针:
struct T {
name: ~str,
}
impl Node for T {
fn name(&self) -> &str { self.name }
// this doesn't work either (lifetime error)
// fn name(&self) -> &str { let s: &str = self.name; s }
}
trait Node {
fn name(&self) -> &str;
}
为什么会这样?从函数返回 &str 的最佳方法是什么?
【问题讨论】:
标签: rust