Any Functions
Type introspection functions
TypeId and type_name
Section titled “TypeId and type_name”use std::any::{TypeId, type_name};
fn main() { // TypeId - unique identifier for types println!("=== TypeId ==="); println!("TypeId of i32: {:?}", TypeId::of::<i32>()); println!("TypeId of String: {:?}", TypeId::of::<String>()); println!("TypeId of &str: {:?}", TypeId::of::<&str>());
// Compare types println!("\n=== Type Comparison ==="); println!("i32 == i32: {}", TypeId::of::<i32>() == TypeId::of::<i32>()); println!("i32 == i64: {}", TypeId::of::<i32>() == TypeId::of::<i64>());
// type_name - human readable name println!("\n=== type_name ==="); println!("i32: {}", type_name::<i32>()); println!("String: {}", type_name::<String>()); println!("Vec<i32>: {}", type_name::<Vec<i32>>()); println!("HashMap: {}", type_name::<std::collections::HashMap<String, i32>>()); println!("fn: {}", type_name::<fn(i32) -> bool>());
// type_name_of_val let x = 42; let s = String::from("hello"); let v = vec![1, 2, 3];
println!("\n=== type_name_of_val ==="); println!("x: {}", std::any::type_name_of_val(&x)); println!("s: {}", std::any::type_name_of_val(&s)); println!("v: {}", std::any::type_name_of_val(&v));}เข้าสู่ระบบเพื่อดูเนื้อหาเต็ม
ยืนยันตัวตนด้วยบัญชี Google เพื่อปลดล็อกบทความทั้งหมด
Login with Google