Literale und Operatoren

RustRustBeginner
Jetzt üben

This tutorial is from open-source community. Access the source code

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab untersuchen wir die Verwendung von Literalen und Operatoren in Rust. Literale wie Ganzzahlen, Gleitkommazahlen, Zeichen, Strings, Boole'sche Werte und der Einheitstyp können in ihrer Literalform ausgedrückt werden. Ganzzahlen können auch in hexadezimaler, oktaler oder binärer Notation dargestellt werden. Unterstriche können zur Verbesserung der Lesbarkeit in numerischen Literalen verwendet werden. Rust unterstützt die wissenschaftliche E-Notation für Gleitkomma-Literale. Operatoren wie Addition, Subtraktion, logische Operationen, bitweise Operationen und Shift-Operationen sind in Rust verfügbar.

Hinweis: Wenn das Lab keinen Dateinamen angibt, können Sie einen beliebigen Dateinamen verwenden. Beispielsweise können Sie main.rs verwenden und es mit rustc main.rs &&./main kompilieren und ausführen.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL rust(("Rust")) -.-> rust/DataTypesGroup(["Data Types"]) rust(("Rust")) -.-> rust/FunctionsandClosuresGroup(["Functions and Closures"]) rust(("Rust")) -.-> rust/AdvancedTopicsGroup(["Advanced Topics"]) rust/DataTypesGroup -.-> rust/boolean_type("Boolean Type") rust/DataTypesGroup -.-> rust/type_casting("Type Conversion and Casting") rust/FunctionsandClosuresGroup -.-> rust/function_syntax("Function Syntax") rust/FunctionsandClosuresGroup -.-> rust/expressions_statements("Expressions and Statements") rust/AdvancedTopicsGroup -.-> rust/operator_overloading("Traits for Operator Overloading") subgraph Lab Skills rust/boolean_type -.-> lab-99192{{"Literale und Operatoren"}} rust/type_casting -.-> lab-99192{{"Literale und Operatoren"}} rust/function_syntax -.-> lab-99192{{"Literale und Operatoren"}} rust/expressions_statements -.-> lab-99192{{"Literale und Operatoren"}} rust/operator_overloading -.-> lab-99192{{"Literale und Operatoren"}} end

Literale und Operatoren

Ganzzahlen 1, Gleitkommazahlen 1.2, Zeichen 'a', Strings "abc", Boole'sche Werte true und der Einheitstyp () können mit Literalen ausgedrückt werden.

Ganzzahlen können alternativ in hexadezimaler, oktaler oder binärer Notation mit diesen Präfixen ausgedrückt werden: 0x, 0o oder 0b jeweils.

Unterstriche können in numerischen Literalen eingefügt werden, um die Lesbarkeit zu verbessern, z.B. 1_000 ist gleich 1000, und 0.000_001 ist gleich 0.000001.

Rust unterstützt auch die wissenschaftliche E-Notation, z.B. 1e6, 7.6e-4. Der zugehörige Typ ist f64.

Wir müssen dem Compiler den Typ der Literale mitteilen, die wir verwenden. Für jetzt werden wir das Suffix u32 verwenden, um anzuzeigen, dass das Literal ein vorzeichenloses 32-Bit-Ganzzahl ist, und das Suffix i32, um anzuzeigen, dass es eine vorzeichenbehaftete 32-Bit-Ganzzahl ist.

Die verfügbaren Operatoren und ihre Präzedenz in Rust sind ähnlich wie in anderen C-ähnlichen Sprachen.

fn main() {
    // Ganzzahladdition
    println!("1 + 2 = {}", 1u32 + 2);

    // Ganzzahlsubtraktion
    println!("1 - 2 = {}", 1i32 - 2);
    // TODO ^ Versuchen Sie, `1i32` in `1u32` umzuwandeln, um zu sehen, warum der Typ wichtig ist

    // Wissenschaftliche Notation
    println!("1e4 ist {}, -2.5e-3 ist {}", 1e4, -2.5e-3);

    // Kurzschluss-Logik für Boole'sche Werte
    println!("true AND false ist {}", true && false);
    println!("true OR false ist {}", true || false);
    println!("NOT true ist {}",!true);

    // Bitweise Operationen
    println!("0011 AND 0101 ist {:04b}", 0b0011u32 & 0b0101);
    println!("0011 OR 0101 ist {:04b}", 0b0011u32 | 0b0101);
    println!("0011 XOR 0101 ist {:04b}", 0b0011u32 ^ 0b0101);
    println!("1 << 5 ist {}", 1u32 << 5);
    println!("0x80 >> 2 ist 0x{:x}", 0x80u32 >> 2);

    // Verwenden Sie Unterstriche, um die Lesbarkeit zu verbessern!
    println!("Einen Millionen wird geschrieben als {}", 1_000_000u32);
}

Zusammenfassung

Herzlichen Glückwunsch! Sie haben das Lab zu Literalen und Operatoren abgeschlossen. Sie können in LabEx weitere Labs absolvieren, um Ihre Fähigkeiten zu verbessern.