Box<dyn Any>
实现类型反射
Box<dyn Any>
可以实现类似 C 语言中的 void*
的效果, 可以较为快捷进行向下转型:
#![allow(unused)] fn main() { use std::any::Any; fn print_is_string(value: Box<dyn Any>) { if let Ok(s) = value.downcast::<String>() { println!("string: {s}"); } } }