12、Rust 特性:多种形式与应用

Rust 特性:多种形式与应用

在 Rust 编程中,特性(trait)是一项强大的工具,它可以让我们定义一组行为,并让不同的类型来实现这些行为。特性有多种形式,下面我们来详细了解一下。

1. 特性的多种形式

特性有多种不同的形式,每种形式都有其特定的用途和优势。

1.1 标记特性(Marker traits)

标记特性定义在 std::marker 模块中,它们没有任何方法,只是简单地声明一个名称,用于标记一个类型属于某个特定的家族,以获得一些编译时的保证。例如,标准库中的 Copy Send Sync 就是标记特性。 Send Sync 特性会在适当的时候由语言自动为大多数类型实现,用于表示哪些值可以安全地在不同线程之间发送和共享。

1.2 简单特性(Simple traits)

简单特性是特性定义的最简单形式,例如:

trait Foo {
    fn foo();
}

标准库中的 Default 特性就是一个简单特性的例子,它用于可以用默认值初始化的类型。其文档可在 https://doc.rust-lang

你可能感兴趣的:(精通Rust:从入门到实践,Rust,特性,Trait)