【发布时间】:2021-02-17 01:52:35
【问题描述】:
我有各种实现相同特征的结构。我想在某些条件下分支,在运行时决定要实例化哪些结构。然后,无论我遵循哪个分支,我都想从该 trait 调用方法。
这在 Rust 中可能吗?我希望能够实现以下目标(无法编译):
trait Barks {
fn bark(&self);
}
struct Dog;
impl Barks for Dog {
fn bark(&self) {
println!("Yip.");
}
}
struct Wolf;
impl Barks for Wolf {
fn bark(&self) {
println!("WOOF!");
}
}
fn main() {
let animal: Barks;
if 1 == 2 {
animal = Dog;
} else {
animal = Wolf;
}
animal.bark();
}
【问题讨论】:
标签: rust