Skip to content
เข้าสู่ระบบ

Any Functions

Type introspection functions

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 เพื่อปลดล็อกบทความทั้งหมด