|
|
@ -307,18 +307,7 @@ for i in 'a'..='z' {
|
|
|
|
```
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 使用 As 完成类型转换
|
|
|
|
## 使用 As 完成类型转换
|
|
|
|
Rust 中可以使用 As 来完成一个类型到另一个类型的转换,其最常用于将原始类型转换为其他原始类型,但是它也可以完成诸如将指针转换为地址、地址转换为指针以及将指针转换为其他指针等功能。
|
|
|
|
Rust 中可以使用 As 来完成一个类型到另一个类型的转换,其最常用于将原始类型转换为其他原始类型,但是它也可以完成诸如将指针转换为地址、地址转换为指针以及将指针转换为其他指针等功能。你可以在[这里](../../advance/into-types/converse.md)了解更多相关的知识。
|
|
|
|
在使用 As 的情况下,我们往往需要的行为是完成隐式转换无法完成的工作,例如下面的例子:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```rust
|
|
|
|
|
|
|
|
let var1: u8 = 89.0 as u8;
|
|
|
|
|
|
|
|
assert_eq!('B' as u32, 66);
|
|
|
|
|
|
|
|
assert_eq!(var1 as char, 'Y');
|
|
|
|
|
|
|
|
let var2: f32 = thing1 as f32 + 10.5;
|
|
|
|
|
|
|
|
assert_eq!(true as u8 + var2 as u8, 100);
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
当然,关于 As 还有更多用法,暂时我们只用了解这些即可。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 有理数和复数
|
|
|
|
## 有理数和复数
|
|
|
|
|
|
|
|
|
|
|
|