Module std::convert 1.0.0[−][src]
Expand description
Traits 用于类型之间的转换。
此模块中的 traits 提供了一种从一种类型转换为另一种类型的方法。 每个 trait 都有不同的用途:
- 实现
AsReftrait 以实现廉价的引用到引用转换 - 实现
AsMuttrait 进行廉价的变量到变量转换 - 实现
Fromtrait 以进行值到值的转换 - 实现
Intotrait,以便将值转换为当前 crate 之外的类型 TryFrom和TryIntotraits 的行为类似于From和Into,但应在转换失败时实现。
此模块中的 traits 通常用作泛型函数的 trait bounds,以便支持多种类型的参数。有关示例,请参见每个 trait 的文档。
作为库作者,您应该总是更喜欢实现 From<T> 或 TryFrom<T>,而不是 Into<U> 或 TryInto<U>,因为 From 和 TryFrom 提供了更大的灵活性,并免费提供了等效的 Into 或 TryInto 实现,这要归功于标准库中的全面实现。
当定位到 Rust 1.41 之前的版本时,当转换为当前 crate 之外的类型时,可能有必要直接实现 Into 或 TryInto。
泛型实现
AsRef如果内部类型是引用,则AsMut自动解引用From<U> for T暗示Into<T> for UTryFrom<U> for T暗示TryInto<T> for UFrom和Into是自反的,这意味着所有类型都可以into自己和from自己
有关用法示例,请参见每个 trait。
Enums
| Infallible | 永远不会发生的错误的错误类型。 |
Traits
| FloatToInt | Experimental 支持 |
| AsMut | 用于进行廉价的可变到可变引用转换。 |
| AsRef | 用于执行廉价的引用到引用转换。 |
| From | 用于在消耗输入值的同时进行值到值的转换。它是 |
| Into | 消耗输入值的值到值转换。与 |
| TryFrom | 简单安全的类型转换在某些情况下可能会以受控方式失败。它是 |
| TryInto | 尝试使用 |
Functions
| identity | 身份函数。 |