1
0
Fork 0
mirror of https://github.com/rust-lang/rustlings.git synced 2024-04-25 07:15:04 +02:00

feat: Add traits README

This commit is contained in:
Dan Wilhelm 2020-05-28 20:21:33 -07:00
parent 918f310674
commit 173bb14140

View File

@ -0,0 +1,20 @@
### 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` (the `clone` method),
+ `Display` (which allows formatted display via `{}`), and
+ `Debug` (which allows formatted display via `{:?}`).
Because traits indicate shared behavior between data types, they are useful when writing generics.
#### Book Sections
- [Traits](https://doc.rust-lang.org/book/ch10-02-traits.html)