Rust-reference/items/type-aliases

来自菜鸟教程
跳转至:导航、​搜索

Type aliases

类型别名

type-aliases.md

commit: d150e88973ffccc4439111d8e1b26da745670fa8
本章译文最后维护日期:2020-11-8

句法

TypeAlias :
   type IDENTIFIER Generics? WhereClause? = Type ;

类型别名为现有的类型定义一个新名称。类型别名用关键字 type 声明。每个值都是一个唯一的特定的类型,但是可以实现几个不同的 trait,或者兼容几个不同的类型约束。

例如,下面将类型 Point 定义为类型 (u8, u8) 的同义词/别名:

type Point = (u8, u8);
let p: Point = (41, 68);

元组结构体或单元结构体的类型别名不能用于充当该类型的构造函数:

struct MyStruct(u32);

use MyStruct as UseAlias;
type TypeAlias = MyStruct;

let _ = UseAlias(5); // OK
let _ = TypeAlias(5); // 不能正常执行