rust中dyn关键字的用法

作者: cnpim CNPIM 2023年06月09日

以下代码是chatGPT给出的示例代码,智能AI果然NB

// Define a trait for an animaltrait Animal {    fn make_sound(&self) -> &'static str;}// Define two structs that implement the Animal traitstruct Dog;struct Cat;impl Animal for Dog {    fn make_sound(&self) -> &'static str {        "Woof!"    }}impl Animal for Cat {    fn make_sound(&self) -> &'static str {        "Meow!"    }}// Define a function that returns a trait object on the heapfn random_animal(random_number: f64) -> Box<dyn Animal> {    if random_number < 0.5 {        Box::new(Dog)    } else {        Box::new(Cat)    }}fn main() {    let random_number = 0.234;    let animal = random_animal(random_number);    println!("You got a {}!", animal.make_sound());}```

本文阅读量:

上一篇:test
下一篇:《红楼梦》故事概括收集

声明:本信息来源于网络,仅用于学习和技术交流,如有侵权或其他问题,请联系本站处理。

技术支持:CNPIM.COM