Function std::any::type_name_of_val [−][src]
pub const fn type_name_of_val<T>(_val: &T) -> &'static str where
T: ?Sized,
Expand description
以字符串切片的形式返回指向的值的类型的名称。
这与 type_name::<T>()
相同,但是可以在不容易获得变量类型的地方使用。
Note
这旨在用于诊断。没有指定字符串的确切内容和格式,只是对类型的尽力描述。
例如,type_name_of_val::<Option<String>>(None)
可以返回 "Option<String>"
或 "std::option::Option<std::string::String>"
,但不能返回 "foobar"
。
此外,输出可能会在编译器的版本之间改变。
此函数不能解析 trait 对象,这意味着 type_name_of_val(&7u32 as &dyn Debug)
可以返回 "dyn Debug"
,但不能返回 "u32"
。
类型名称不应视为类型的唯一标识符; 多个类型可以共享相同的类型名称。
当前的实现使用与编译器诊断和 debuginfo 相同的基础结构,但这不能保证。
Examples
打印默认的整数和浮点类型。
#![feature(type_name_of_val)] use std::any::type_name_of_val; let x = 1; println!("{}", type_name_of_val(&x)); let y = 1.0; println!("{}", type_name_of_val(&y));Run