capypad
0 Tage Serie
rust / beginner
Snippet

Grundlegende Trait-Definitionen

Traits definieren gemeinsames Verhalten, das Typen implementieren können. Sie funktionieren wie Interfaces in anderen Sprachen. Die greet-Methode nimmt self und gibt einen String zurück. Typen implementieren Traits mit der Syntax impl Trait for Type.

snippet.rs
rust
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
trait Greeting {
fn greet(&self) -> String;
}
 
struct Person {
name: String,
}
 
impl Greeting for Person {
fn greet(&self) -> String {
format!("Hello, {}!", self.name)
}
}
 
fn main() {
let person = Person { name: String::from("Anna") };
println!("{} ", person.greet());
}
Erklärung
1
trait Greeting { fn greet(&self) -> String; }
Definiert einen Trait mit einer Methodensignatur
2
impl Greeting for Person { ... }
Implementiert den Trait für die Person-Struktur