特征可以定义构造函数/初始化方法吗?

时间:2014-08-17 16:27:15

标签: rust

由trait定义的方法可以通过self关键字将实现结构作为参数接受。但我似乎无法弄清楚如何返回实现结构的实例。例如:

trait Construct {
    fn use_self(self) -> uint;
    fn make_self(n: uint) -> self;
}

use_self很好并且编译,但make_self无法编译。有没有办法让trait方法返回实现结构的实例,比如构造函数或初始化器?

1 个答案:

答案 0 :(得分:5)

  

是否有一种方法可以让trait方法返回实现结构的实例,比如构造函数或初始化器?

是。在声明特征方法时,使用Self作为返回类型。