» Rust快速入门 » 1. 基础篇 » 1.6 类型机制

类型机制

强制转换

在Rust中,可以使用 as 关键字执行显式类型转换。

fn main() {
    let decimal = 65.79_f32;
    // 显式转换
    let integer = decimal as u8;
    let character = integer as char;

    println!("{} {} {}", decimal, integer, character);
    // 65.79 65 A
}

Inference 推断

类型推断机制不仅依据变量初始化期间表达式结果值的类型,还依据其之后的使用方式来推断。

fn main() {
    let a = 5u8;

    let mut vec = Vec::new();
    // 此时编译器不知道 `vec` 容纳的元素类型

    vec.push(a);
    // 现在编译器知道 `vec` 是 `Vec<u8>`

    println!("{:?}", vec); // [5]
}

别名

type 关键字可用于为现有类型赋予新名称。

type NanoSecond = u64;
type Duration = i64;

fn main() {
    let duration: NanoSecond = 58 as u64;
    println!("{} nanoseconds", duration); // 58 nanoseconds
}

代码挑战

尝试修改编辑器中提供的代码以实现转换函数。

Loading...
> 此处输出代码运行结果
上页
下页