Kann man globale Variablen in Rust verwenden?
Hallo zusammen! Ich habe gerade angefangen, Rust zu lernen, bin von C++ umgestiegen und habe ein Problem. In C++ war ich es gewohnt, globale Variablen zu verwenden, um Anwendungskonfigurationen oder Zähler zu speichern, auf die von verschiedenen Funktionen aus zugegriffen werden muss. Zum Beispiel habe ich einen einfachen Funktionsaufrufzähler:
```rust
static COUNTER: i32 = 0;
fn increment() {
COUNTER += 1; // Fehler!
}
```
Der Compiler gibt einen Fehler aus: "cannot mutate static variable". Ich habe versucht, es mit `mut` zu umschließen:
```rust
static mut COUNTER: i32 = 0;
fn increment() {
COUNTER += 1; // unsafe! Sehr umständlich.
}
```
Jetzt verlangt der Compiler, den Zugriff in `unsafe { ... }` zu verpacken. Ich verstehe, dass das unsicher ist, aber wie organisiert man dann richtig globalen Zustand? Ich brauche, dass die Variable im gesamten Programm sichtbar ist.