Rust-高级类型

  Rust的类型系统还有一些其它功能。如 newtype 和 类型别名(type aliases),一个类型似newtype但有首稍微不同的语义的功能。还有 ! 类型和动态大小类型。

为了类型安全和抽象而使用newtype模式

newtype模式可以用于一些其它我们还没讨论的功能,包括静态的确保某值不被混淆,和用来表示一个值的单元。

另一个newtype模式的应用在于抽象掉一些类型的实现细节:例如,封装类型可以暴露出出与直接使用其内部私有类型时所不同的公有api,以便限制其功能。

newtype也可以隐藏其内部的泛型类型。

类型别名用来创建类型同义词

连同newtype模式,Rust还提从了声明 类型别名(type alias)的能力,使用type关键字来给予现有类型另一个名。例如,可以像这样创建i32的别名 kilometers:

type kilometers = i32;

这意味首kilometers是i32的同义词(synonym)。

类型别名的主要用途是减少重复。

上一篇:EF Core如何输出日志到Visual Studio的输出窗口


下一篇:Rust-线程:共享状态并发