rust / beginner
Snippet
Methoden mit impl implementieren
Der impl-Block ermöglicht es dir, Funktionen und Methoden mit einer Struct zu verknüpfen. Methoden ähneln Funktionen, haben aber immer self als ersten Parameter. Die new-Funktion dient als Konstruktor und gibt eine neue Rectangle-Instanz zurück.
snippet.rs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
struct Rectangle {width: u32,height: u32,}impl Rectangle {fn area(&self) -> u32 {self.width * self.height}fn new(width: u32, height: u32) -> Self {Rectangle { width, height }}}let rect = Rectangle::new(30, 50);println!("Area: {}", rect.area());
Erklärung
1
impl Rectangle {
Startet einen impl-Block für die Rectangle-Struct
2
fn area(&self) -> u32 {
Methode, die eine unveränderliche Referenz auf self nimmt
3
self.width * self.height
Greift auf die Felder der Struct-Instanz zu
4
fn new(width: u32, height: u32) -> Self {
Assoziierte Funktion als Konstruktor
5
Rectangle { width, height }
Kurzschreibweise um die Struct-Instanz zu erstellen
6
Rectangle::new(30, 50)
Ruft den Konstruktor über den Typnamen auf