mirror of https://github.com/sunface/rust-course
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
sunface
ac69dc1cbd
|
3 years ago | |
---|---|---|
.. | ||
README.md | 3 years ago | |
traits1.rs | 3 years ago | |
traits2.rs | 3 years ago |
README.md
Traits
Trait 是一系列方法的集合。
数据类型可以实现 trait。为此需要帮数据类型定义好构成 trait 的方法。
例如,String
类型实现了 From<&str>
trait。它赋予我们能力写出 String::from("hello")
。
如此一来,trait 就有点类似于 Java 的接口和 C++ 的抽象类。
另外一些常见的 Rust trait 包括:
Clone
(clone
方法)Display
(实现通过{}
进行格式化显示)Debug
(实现通过{:?}
进行格式化显示 )
因为 trait 标明了数据类型之间的共有行为,所以它在编写泛型时非常有用。