pub struct TypeId { /* private fields */ }
Expand description
TypeId
代表类型的全局唯一标识符。
每个 TypeId
是不透明的对象,它不允许检查内部内容,但可以进行基本操作,例如克隆,比较,打印和显示。
TypeId
当前仅适用于归因于 'static
的类型,但是可以在 future 中消除此限制。
虽然 TypeId
实现 Hash
,PartialOrd
和 Ord
,但值得注意的是,在 Rust 版本之间,哈希值和顺序将有所不同。
注意不要在代码中依赖它们!
返回已实例化此泛型函数的类型的 TypeId
。
use std::any::{Any, TypeId};
fn is_string<T: ?Sized + Any>(_s: &T) -> bool {
TypeId::of::<String>() == TypeId::of::<T>()
}
assert_eq!(is_string(&0), false);
assert_eq!(is_string(&"cookie monster".to_string()), true);
Run
此方法测试 self
和 other
值是否相等,并由 ==
使用。
此方法测试 !=
。
默认实现几乎总是足够的,并且不应在没有充分理由的情况下被覆盖。
此方法测试的内容少于 (对于
self
和
other
),并且由
<
操作员使用。
Read more
此方法测试小于或等于 (对于
self
和
other
),并且由
<=
运算符使用。
Read more
此方法测试大于 (对于
self
和
other
),并且由
>
操作员使用。
Read more
此方法测试是否大于或等于 (对于
self
和
other
),并且由
>=
运算符使用。
Read more
调用 U::from(self)
。
也就是说,这种转换是 From<T> for U
实现选择执行的任何操作。