Parameter und Argumente
Teil des Abschnitts Fundamentals der Rust-Journey von Coddy — Lektion 50 von 75.
Ein Argument in einer Funktion ist ein Wert, den du an die Funktion übergibst, wenn du sie aufrufst. Um Argumente zu einer Funktion hinzuzufügen, schreiben wir sie in die Klammern ():
fn function_name(arg1: data_type, arg2: data_type, ...) {
// Code
}Wir können die Argumente so benennen, wie wir wollen, und wir können so viele Argumente schreiben, wie wir benötigen.
Um eine Funktion aufzurufen und ihr Argumente zu übergeben, schreiben wir:
function_name(value1, value2, value3, ...);Das Übergeben von zu vielen Argumenten an eine Funktion, die weniger Argumente erwartet, führt dazu, dass das Programm fehlschlägt.
Anwendungsbeispiel:
fn is_even(number: i32) {
if number % 2 == 0 {
println!("{} is even", number);
} else {
println!("{} is odd", number);
}
}
for i in 15..34 {
is_even(i);
}
for i in 153..219 {
is_even(i);
}Hier haben wir eine Funktion namens is_even, die ein Argument namens number akzeptiert und ausgibt, ob die Zahl gerade oder ungerade ist. Dann rufen wir die Funktion zweimal auf: einmal für alle Zahlen zwischen 15 und 34, ein zweites Mal für alle Zahlen zwischen 153 und 219.
Aufgabe
EinfachSchreibe ein Programm, das zwei Eingabezahlen erhält. Die Eingabezahlen sind die Argumente der Funktion.
Erstelle eine Funktion, die zwei Argumente erhält, deren Produkt berechnet und dieses ausgibt. Benenne die Funktion, wie du möchtest.
Rufe die Funktion mit den Eingabezahlen auf.
Hinweis! Schreibe in deinem Code die Funktion vor ihren Aufruf- bzw. Ausführungsanweisungen.
Spickzettel
Um Argumente zu einer Funktion hinzuzufügen, schreiben Sie diese mit ihren Datentypen in die Klammern:
fn function_name(arg1: data_type, arg2: data_type) {
// Code
}Rufen Sie eine Funktion auf, indem Sie Werte als Argumente übergeben:
function_name(value1, value2);Beispiel mit einem Argument:
fn is_even(number: i32) {
if number % 2 == 0 {
println!("{} is even", number);
} else {
println!("{} is odd", number);
}
}
is_even(42);Das Übergeben von zu vielen Argumenten an eine Funktion führt dazu, dass das Programm fehlschlägt
Probier es selbst
use std::io;
// Funktionsdeklaration
fn main() {
let mut input_a = String::new();
let mut input_b = String::new();
io::stdin().read_line(&mut input_a).unwrap();
io::stdin().read_line(&mut input_b).unwrap();
let a: i32 = input_a.trim().parse().unwrap();
let b: i32 = input_b.trim().parse().unwrap();
// Rufe die Funktion mit a und b als Argumente auf
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Fundamentals
4Operatoren Teil 1
Arithmetische OperatorenModulo-OperatorArithmetische AbkürzungenVergleichsoperatorenString-Vergleich7Grundlagen IO
Ausgabe in die KonsoleBenutzereingaben lesenWiederholung - Bis 120Wiederholung - Wahr oder Falsch5Operatoren Teil 2
Logische Operatoren Teil 1Logische Operatoren Teil 2Wiederholung - Einfache LogikLogische Operatoren Teil 311Funktionen
Funktionen deklarierenParameter und ArgumenteRückgabewerteMehrere RückgabewerteWiederholung - Sigma-FunktionWiederholung - Validierungsfunktion14Iterieren über Arrays
Range-LeitfadenErweiterte For-SchleifeBorrowing in SchleifenGängige Array-Operationen3Variablen Teil 2
TypdeklarationNamenskonventionenTypinferenzRückblick - Variablen initialisierenTypumwandlung6Entscheidungsfindung
If-AusdrückeIf-ElseMatch-AnweisungZusammenfassung - If-ElseVerschachteltes If-Else9Schleifen
For-Schleife über SerienWhile-SchleifeBreakContinueVerschachtelte SchleifenSchleifen-LabelsEndlosschleifeRückblick – Dynamische Eingabe