mirror of https://github.com/rust-lang/rustlings
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
closes #1088 |
2 years ago | |
---|---|---|
.. | ||
README.md | 3 years ago | |
traits1.rs | 2 years ago | |
traits2.rs | 2 years ago | |
traits3.rs | 2 years ago | |
traits4.rs | 2 years ago | |
traits5.rs | 2 years ago |
README.md
Traits
A trait is a collection of methods.
Data types can implement traits. To do so, the methods making up the trait are defined for the data type. For example, the String
data type implements the From<&str>
trait. This allows a user to write String::from("hello")
.
In this way, traits are somewhat similar to Java interfaces and C++ abstract classes.
Some additional common Rust traits include:
Clone
(theclone
method)Display
(which allows formatted display via{}
)Debug
(which allows formatted display via{:?}
)
Because traits indicate shared behavior between data types, they are useful when writing generics.