面试题答案
一键面试// 定义特质Animal
trait Animal {
fn speak(&self);
}
// 定义结构体Dog并实现Animal特质
struct Dog;
impl Animal for Dog {
fn speak(&self) {
println!("Woof!");
}
}
// 定义结构体Cat并实现Animal特质
struct Cat;
impl Animal for Cat {
fn speak(&self) {
println!("Meow!");
}
}
fn main() {
// 创建一个Vec,元素为特质对象
let animals: Vec<Box<dyn Animal>> = vec![
Box::new(Dog),
Box::new(Cat),
];
// 遍历Vec并调用speak方法
for animal in animals {
animal.speak();
}
}