Mehrere Rückgabewerte
Teil des Abschnitts Grundlagen der Rust-Journey von Coddy. Lektion 52 von 75.
In Rust kann eine Funktion mehrere Werte zurückgeben, indem sie ein Tupel als Rückgabetyp verwendet. Ein Tupel ist eine Gruppe verschiedener Werte, die zu einer Einheit zusammengefasst sind.
Zum Beispiel:
fn get_coordinates() -> (i32, i32) {
let x = 10;
let y = 20;
(x, y) // Gibt ein Tupel zurück
}Und so wird die Funktion aufgerufen:
let (x, y) = get_coordinates();
// Das Tupel destrukturieren
// in separate Variablen
println!("{}, {}", x, y);Sie können so viele Werte zurückgeben, wie Sie benötigen, indem Sie dem Tupel weitere Elemente hinzufügen. Zum Beispiel:
fn get_details() -> (String, i32, f64) {
let name = String::from("Alice");
let age = 30;
let score = 95.5;
(name, age, score)
// Gibt ein Tupel mit drei Werten zurück
}Und so wird die Funktion aufgerufen:
let (name, age, score) = get_details();
println!("{}, {}, {}", name, age, score);Aufgabe
EinfachErstelle eine Funktion namens get_user_info, die ein Tupel mit dem Namen, dem Alter und der E-Mail-Adresse eines Benutzers zurückgibt. Die Funktion sollte die folgende Signatur haben:
fn get_user_info() -> (String, i32, String)Erstelle innerhalb der Funktion die folgenden Variablen:
name: einString, der mit "Bob" initialisiert wirdage: eini32, der mit 25 initialisiert wirdemail: einString, der mit "bob@example.com" initialisiert wird
Gib diese drei Werte als Tupel zurück.
Rufe in der main-Funktion get_user_info auf und destrukturiere das zurückgegebene Tupel in separate Variablen namens name, age und email. Gib diese Werte anschließend mit println! in folgendem Format auf der Konsole aus:
Name: [name], Age: [age], Email: [email]Probier es selbst
fn get_user_info() -> (String, i32, String) {
// Erstelle hier Variablen für Name, Alter und E-Mail
// Gib das Tupel zurück
}
fn main() {
// Rufe get_user_info auf und destrukturiere das zurückgegebene Tupel
// Gib die Werte aus
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
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Übe selbstständig: Online-Rust-Compiler