Variable in Rust
Variable in Rust ist ein Speicherort, der einen Wert speichert. Der Wert kann sich während der Laufzeit des Programms ändern. In Rust können Sie eine Variable deklarieren, indem Sie das Schlüsselwort `let` gefolgt von dem Variablennamen und dem Datentyp schreiben. Der Wert einer Variablen kann geändert werden, indem Sie den Variablennamen gefolgt von
let mut Speicherort: Datentyp = Wert; //Veränderbare Variable let Speicherort: Datentyp = Wert; //Unveränderbare Variable
schreiben. In Rust können Sie auch eine Konstante deklarieren, indem Sie das Schlüsselwort `const` gefolgt von dem Variablennamen und dem Wert schreiben. Der Wert einer Konstanten kann nicht geändert werden.
const Speicherort:Datentyp=Wert; //Konstante
Variablen Arten
- Unveränderbare Variable: Der Wert einer unveränderbaren Variable kann nicht geändert werden. Sie können den Wert einer unveränderbaren Variable nicht neu zuweisen.
- Veränderbare Variable: Der Wert einer veränderbaren Variable kann geändert werden. Sie können den Wert einer veränderbaren Variable neu zuweisen.
- Konstante: Der Wert einer Konstanten kann nicht geändert werden. Sie können den Wert einer Konstanten nicht neu zuweisen.
- Statische Variable: Der Wert einer statischen Variable kann geändert werden. Sie können den Wert einer statischen Variable neu zuweisen. Der Wert einer statischen Variable wird nur einmal initialisiert und bleibt während der gesamten Laufzeit des Programms erhalten.
- Globale Variable: Der Wert einer globalen Variablen kann geändert werden. Sie können den Wert einer globalen Variablen neu zuweisen. Der Wert einer globalen Variablen bleibt während der gesamten Laufzeit des Programms erhalten.
- Schatten: Sie können eine Variable mit demselben Namen wie eine andere Variable deklarieren. In diesem Fall wird die ursprüngliche Variable durch die neue Variable ersetzt. Dies wird als Schatten bezeichnet.
Variablentypen in Rust
In Rust gibt es verschiedene grundlegende Variablentypen:
Primitive Typen
- Ganzzahlen: `i8`, `i16`, `i32`, `i64`, `i128`, `isize` (signed integers); `u8`, `u16`, `u32`, `u64`, `u128`, `usize` (unsigned integers)
- Gleitkommazahlen: `f32`, `f64`
- Boolean: `bool`
- Zeichen: `char`
Compound Typen
- Tupel: `(i32, f64, char)`
- Arrays: `[i32; 5]`
Referenzen und Zeiger
- Referenzen: `&T`, `&mut T`
- Rohzeiger: `*const T`, `*mut T`
String Typen
- String Slice: `&str`
- String: `String`
Collections
- Vektoren: `Vec<T>`
- HashMaps: `HashMap<K, V>`
- HashSets: `HashSet<T>`
Option und Result
- Option: `Option<T>`
- Result: `Result<T, E>`
Benutzerdefinierte Typen
- Structs
- Enums