• 别名
    • 参见:

    别名

    type 语句可以给一个已存在类型起一个新的名字。类型必须要有 CamelCase(驼峰方式)的名称,否则
    编译器会产生一个警告。对规则为例外的是基本类型: usizef32等等。

    1. // `NanoSecond` 是 `u64` 的新名字。
    2. type NanoSecond = u64;
    3. type Inch = u64;
    4. // 使用一个属性来忽略警告。
    5. #[allow(non_camel_case_types)]
    6. type u64_t = u64;
    7. // 试一试 ^ 试着删掉属性。
    8. fn main() {
    9. // `NanoSecond` = `Inch` = `u64_t` = `u64`.
    10. let nanoseconds: NanoSecond = 5 as u64_t;
    11. let inches: Inch = 2 as u64_t;
    12. // 注意类型的别名*没有*提供任何额外的类型安全,因为别名*不是*新的类型
    13. println!("{} nanoseconds + {} inches = {} unit?",
    14. nanoseconds,
    15. inches,
    16. nanoseconds + inches);
    17. }

    别名的主要作用是减少按键,举个例子,IoResult<T> 类型是 Result<T, IoError> 类型的别名。

    参见:

    属性