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
超级会员免费看
订阅专栏 解锁全文
1038

被折叠的 条评论
为什么被折叠?



