Rust Veränderbarkeit und Eigentumsbeispiel

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 wird die Veränderbarkeit von Daten mithilfe der Programmiersprache Rust demonstriert, indem gezeigt wird, wie die Eigentums- und Veränderbarkeitsregeln sich ändern, wenn eine Box von einem unveränderbaren in einen veränderbaren Zustand überführt wird.

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/BasicConceptsGroup(["Basic Concepts"]) rust(("Rust")) -.-> rust/FunctionsandClosuresGroup(["Functions and Closures"]) rust(("Rust")) -.-> rust/DataStructuresandEnumsGroup(["Data Structures and Enums"]) rust/BasicConceptsGroup -.-> rust/variable_declarations("Variable Declarations") rust/BasicConceptsGroup -.-> rust/mutable_variables("Mutable Variables") rust/FunctionsandClosuresGroup -.-> rust/function_syntax("Function Syntax") rust/FunctionsandClosuresGroup -.-> rust/expressions_statements("Expressions and Statements") rust/DataStructuresandEnumsGroup -.-> rust/method_syntax("Method Syntax") subgraph Lab Skills rust/variable_declarations -.-> lab-99196{{"Rust Veränderbarkeit und Eigentumsbeispiel"}} rust/mutable_variables -.-> lab-99196{{"Rust Veränderbarkeit und Eigentumsbeispiel"}} rust/function_syntax -.-> lab-99196{{"Rust Veränderbarkeit und Eigentumsbeispiel"}} rust/expressions_statements -.-> lab-99196{{"Rust Veränderbarkeit und Eigentumsbeispiel"}} rust/method_syntax -.-> lab-99196{{"Rust Veränderbarkeit und Eigentumsbeispiel"}} end

Veränderbarkeit

Die Veränderbarkeit von Daten kann sich ändern, wenn das Eigentum übertragen wird.

fn main() {
    let immutable_box = Box::new(5u32);

    println!("immutable_box enthält {}", immutable_box);

    // Veränderbarkeitsfehler
    //*immutable_box = 4;

    // *Verschieben* Sie die Box, um das Eigentum (und die Veränderbarkeit) zu ändern
    let mut mutable_box = immutable_box;

    println!("mutable_box enthält {}", mutable_box);

    // Ändern Sie den Inhalt der Box
    *mutable_box = 4;

    println!("mutable_box enthält jetzt {}", mutable_box);
}

Zusammenfassung

Herzlichen Glückwunsch! Sie haben das Lab zu Veränderbarkeit abgeschlossen. Sie können in LabEx weitere Labs ausprobieren, um Ihre Fähigkeiten zu verbessern.