rust怎么把结构体作为trait对象当参数传递?、
时间: 2024-01-31 22:04:27 浏览: 148
Rust中的单元结构体:简洁之美
这是一个技术问题,我可以为您解答。您可以通过将结构体实现为 trait 的方式来将其作为参数传递,例如:
trait MyTrait {
fn my_function(&self);
}
struct MyStruct;
impl MyTrait for MyStruct {
fn my_function(&self) {
println!("Hello from MyStruct!");
}
}
fn my_function_that_takes_trait_object(some_trait_object: &dyn MyTrait) {
some_trait_object.my_function();
}
fn main() {
let my_struct = MyStruct;
my_function_that_takes_trait_object(&my_struct);
}
希望能帮到你!
阅读全文