Teil 10: Funktionen
Lernziel: Code in Bausteine aufteilen.
Voraussetzungen: Die vorherigen Lektionen, insbesondere Teil 09.
Worum geht es?
Funktionen verhindern Wiederholungen und erleichtern das Testen deiner Programme.
Schritt für Schritt
fn volumen_mm3(laenge: f64, breite: f64, hoehe: f64) -> f64 {
laenge * breite * hoehe
}
fn main() {
let volumen = volumen_mm3(100.0, 50.0, 20.0);
println!("Volumen: {volumen} mm³");
}
fn definiert eine Funktion, Parameter erhalten Typangaben. Hinter -> steht der Rückgabetyp. Der letzte Ausdruck ohne Semikolon wird zurückgegeben; alternativ ist return möglich.
Gültigkeitsbereiche
Variablen, die in einer Funktion angelegt werden, stehen nicht automatisch anderen Funktionen zur Verfügung. Übergib benötigte Daten als Parameter.
fn quadrat(x: i32) -> i32 { x * x }
Dieser Funktionsbaustein lässt sich immer wieder aufrufen.
Selbst ausprobieren
Erstelle eine Funktion celsius_zu_fahrenheit(c: f64) -> f64 und rufe sie für drei Temperaturwerte auf.
Musterlösung anzeigen
fn celsius_zu_fahrenheit(c: f64) -> f64 { c * 1.8 + 32.0 }
fn main() {
for c in [0.0, 20.0, 100.0] {
println!("{c} °C = {:.1} °F", celsius_zu_fahrenheit(c));
}
}
Das solltest du mitnehmen
- Code in Bausteine aufteilen.
- Nutze
cargo runfür das Ausführen undcargo checkfür eine schnelle Fehlerprüfung (ab Teil 4). - Experimentiere mit veränderten Werten und beobachte die Compilermeldungen.
