Any - ทุกชนิดข้อมูล
std::any สำหรับทำงานกับ types แบบ dynamic ที่ runtime!
Any คืออะไร?
Section titled “Any คืออะไร?”Any trait ให้ความสามารถ:
- เก็บ type ใดๆ ก็ได้ใน
Box<dyn Any> - ตรวจสอบ type ที่ runtime
- Downcast กลับเป็น type จริง
use std::any::Any;
fn main() { // Box<dyn Any> เก็บ type ใดก็ได้ let values: Vec<Box<dyn Any>> = vec![ Box::new(42_i32), Box::new("hello"), Box::new(vec![1, 2, 3]), ];
for value in &values { if let Some(n) = value.downcast_ref::<i32>() { println!("i32: {}", n); } else if let Some(s) = value.downcast_ref::<&str>() { println!("str: {}", s); } }}เข้าสู่ระบบเพื่อดูเนื้อหาเต็ม
ยืนยันตัวตนด้วยบัญชี Google เพื่อปลดล็อกบทความทั้งหมด
Login with Google