Typinferenz
Teil des Abschnitts Fundamentals der Rust-Journey von Coddy — Lektion 12 von 75.
In Rust ermöglicht die Typinferenz dem Compiler, den Typ einer Variablen basierend auf ihrem Wert und ihrer Verwendung automatisch abzuleiten. Das bedeutet, dass Sie den Typ beim Deklarieren einer Variablen oft nicht explizit angeben müssen, was Ihren Code prägnanter und leichter lesbar macht.
Zum Beispiel:
let x = 5;
// Rust leitet ab, dass x ein i32 ist
let y = 3.14;
// Rust leitet ab, dass y ein f64 ist
let message = "Hello, world!";
// Rust leitet ab, dass message ein &str (String) ist
let is_true = true;
// Rust leitet ab, dass is_true ein bool istIn diesen Beispielen haben wir die Typen von x, y, message und is_true nicht angegeben. Der Rust-Compiler hat ihre Typen automatisch basierend auf den ihnen zugewiesenen Werten abgeleitet.
Typinferenz ist nicht nur praktisch, sondern hilft auch dabei, Fehler zu vermeiden. Der Compiler prüft, wie die Variablen verwendet werden, und stellt sicher, dass die abgeleiteten Typen im gesamten Code konsistent sind. Wenn ein Konflikt auftritt, erzeugt der Compiler eine Fehlermeldung.
Aufgabe
AnfängerSchreibe ein Rust-Programm, das Typinferenz demonstriert. Deklariere und initialisiere die folgenden Variablen ohne explizite Typanmerkungen:
- Eine Variable namens
quantitymit dem Wert10. - Eine Variable namens
pricemit dem Wert99.99. - Eine Variable namens
messagemit dem Wert"Coddy is awesome!". - Eine Variable namens
is_availablemit dem Werttrue.
Verwende nach der Deklaration dieser Variablen println!(), um ihre Werte auf der Konsole auszugeben. Beobachte, wie Rust die Typen dieser Variablen basierend auf ihren Werten ableitet.
Spickzettel
Die Typinferenz von Rust ermöglicht es dem Compiler, Variablentypen basierend auf ihren Werten automatisch abzuleiten, wodurch explizite Typanmerkungen in vielen Fällen überflüssig werden.
let x = 5; // Rust leitet i32 ab
let y = 3.14; // Rust leitet f64 ab
let message = "Hello, world!"; // Rust leitet &str ab
let is_true = true; // Rust leitet bool abDer Compiler prüft die Verwendung von Variablen, um die Typkonsistenz sicherzustellen, und erzeugt Fehler, wenn Konflikte auftreten.
Probier es selbst
fn main() {
// Variablen hier deklarieren
// Die Werte ausgeben
println!("Quantity: {}", quantity);
println!("Price: {}", price);
println!("Message: {}", message);
println!("Is available: {}", is_available);
}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