// Globale Konstanten, können außerhalb von Funktionen deklariert werden const ANTWORT_AUF_ALLES: i32 = 42; // Const sind echte Konstanten, die nicht verändert werden könne und auch nicht überschattet werden können // Dies haben keinen festen Speicherplatz, sondern werden überall eingebettet, wo diese verwendet werden // Es muss explizit geschrieben werden, welchen Typ die Konstante hat static mut PRAESENTIERER: &str = "Semih"; // Bei static ist es anders, diese existieren genau einmal im Speicher und haben somit eine feste Speicheradresse // Können mit mut versehen werden, diese können dann verändert werden in unsafe Blöcken // Dies sollte eher vermieden werden, um veränderbare static Konstanten zu erzeugen sollten Mutex verwendet werden fn main() { println!("The answer to life, the universe, and everything = {ANTWORT_AUF_ALLES}"); // Konstanten können auch in Funktionen deklariert werden const WITZIGES: i8 = 24; static WITZIGERES: i8 = 25; println!("Ich weiß noch was witzigeres als {WITZIGES}\nNa was denn?\n{WITZIGERES} hahahaha"); // Da static mut unsafe ist, können sie nur in solchen unsafe Blöcken verändert und gelesen werden, anders nicht unsafe { println!("Aktueller Präsentierer ist: {PRAESENTIERER}"); PRAESENTIERER = "Lukas"; println!("Der nächste Präsentierer ist: {PRAESENTIERER}"); } }