capypad
0 Tage Serie
rust / beginner
Snippet

Grundlegende Structs in Rust

Structs sind benutzerdefinierte Datentypen, die es Ihnen ermöglichen, verwandte Werte zusammenzufassen. Sie ähneln Klassen in anderen Sprachen, jedoch ohne Methoden. In diesem Beispiel definieren wir ein User-Struct mit drei Feldern. Instanzen werden mit Struct-Literal-Syntax erstellt. Die gesamte Struct kann mit mut veränderlich gemacht werden, und einzelne Felder werden mit Punktnotation zugegriffen.

snippet.rs
rust
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
struct User {
username: String,
email: String,
active: bool,
}
 
fn main() {
let user1 = User {
email: String::from("[email protected]"),
username: String::from("testuser"),
active: true,
};
println!("User: {} ({})", user1.username, user1.email);
let mut user2 = user1;
user2.username = String::from("newuser");
println!("Updated: {}", user2.username);
}
Erklärung
1
struct User {
Definiert einen neuen Struct-Typ namens User
2
username: String,
Feld, das den Benutzernamen als String speichert
3
let user1 = User { ... };
Erstellt eine Instanz des User-Structs
4
let mut user2 = user1;
Ownership wird an user2 übertragen, user1 wird ungültig
5
user2.username = ...
Ändert das Username-Feld, da user2 veränderlich ist