capypad
0 Tage Serie
rust / beginner
Snippet

Strukturen definieren und verwenden

Strukturen sind benutzerdefinierte Datentypen, die verwandte Felder zusammenfassen. Sie funktionieren wie Baupläne zum Erstellen von Objekten. Hier definieren wir eine User-Struktur mit drei Feldern, erstellen Instanzen mit benannten Feldern und verwenden die Struktur-Update-Syntax (..), um verbleibende Felder von einer anderen Instanz zu kopieren.

snippet.rs
rust
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
struct User {
username: String,
email: String,
active: bool,
}
 
fn main() {
let user1 = User {
username: String::from("alice"),
email: String::from("[email protected]"),
active: true,
};
println!("User: {} ({})", user1.username, user1.email);
let mut user2 = User {
username: String::from("bob"),
..user1
};
user2.active = false;
println!("User 2 active: {}", user2.active);
}
Erklärung
1
struct User {
Definiert eine Struktur namens User mit drei Feldern
2
username: String,
Ein Benutzername-Feld vom Typ String
3
let user1 = User { ... };
Erstellt eine User-Instanz mit Feld-Initialisierungssyntax
4
..user1
Struktur-Update-Syntax - kopiert verbleibende Felder von user1