capypad
0 Tage Serie
rust / beginner
Snippet

Strukturen definieren und verwenden

Strukturen sind benutzerdefinierte Datentypen, die verwandte Felder zusammenfassen. Der impl-Block ermöglicht es uns, Methoden für die Struktur zu definieren. Die new-Funktion ist eine übliche Konvention für konstruktorähnliches Verhalten und gibt Self (den Strukturtyp selbst) zurück.

snippet.rs
rust
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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 }
}
}
 
fn main() {
let rect = Rectangle::new(30, 50);
println!("Area: {}", rect.area());
}
Erklärung
1
struct Rectangle {
Deklariert eine Struktur namens Rectangle
2
width: u32,
Erstes Feld vom Typ unsigned 32-bit integer
3
height: u32,
Zweites Feld vom Typ unsigned 32-bit integer
4
impl Rectangle {
Implementierungsblock für Rectangle-Methoden
5
fn area(&self) -> u32 {
Methode mit unveränderlicher Referenz auf self
6
Self { width, height }
Kurzform für Rectangle { width: width, height: height }