4.1 强制转换(Coercion)
Rust 的强制转换规则
1分钟内可阅读完
译文 · 基于 The Rustonomicon
归根结底,一切不过是某处的一堆比特,类型系统只是帮我们把比特用对。对比特进行类型化有两个常见问题:需要把那些完全相同的比特重新解释为另一种类型,以及需要改变比特使其对另一种类型具有等价含义。由于 Rust 鼓励在类型系统中编码重要性质,这些问题极其普遍。因此 Rust 提供了多种解决方式。
首先看 Safe Rust 提供的重新解释值的方式。 最直接的方式是把值解构为组成部分,再用它们构造新类型。例如:
| |
但这充其量很烦人。对常见转换,Rust 提供了更符合人体工程学的替代方案。
Rust 的强制转换规则
点运算符的自动解引用与转换
as 强制转型的安全性与注意点
mem::transmute 的危险与用法