由trait定义的方法可以通过self
关键字将实现结构作为参数接受。但我似乎无法弄清楚如何返回实现结构的实例。例如:
trait Construct {
fn use_self(self) -> uint;
fn make_self(n: uint) -> self;
}
use_self
很好并且编译,但make_self
无法编译。有没有办法让trait方法返回实现结构的实例,比如构造函数或初始化器?
答案 0 :(得分:5)
是否有一种方法可以让trait方法返回实现结构的实例,比如构造函数或初始化器?
是。在声明特征方法时,使用Self
作为返回类型。