简介
在这个实验中,我们将学习在单个变量解构时的部分移动,其中可以同时使用 按值移动
和 按引用
模式绑定。这会导致变量的部分移动,允许某些部分被移动,而其他部分仍可被引用。如果父变量被部分移动,那么之后它就不能作为一个整体使用了,但仅被引用而未被移动的部分仍然可以使用。
注意:如果实验未指定文件名,你可以使用任何你想要的文件名。例如,你可以使用
main.rs
,并通过rustc main.rs &&./main
来编译和运行它。
Skills Graph
%%%%{init: {'theme':'neutral'}}%%%%
flowchart RL
rust(("Rust")) -.-> rust/FunctionsandClosuresGroup(["Functions and Closures"])
rust(("Rust")) -.-> rust/MemorySafetyandManagementGroup(["Memory Safety and Management"])
rust(("Rust")) -.-> rust/AdvancedTopicsGroup(["Advanced Topics"])
rust(("Rust")) -.-> rust/BasicConceptsGroup(["Basic Concepts"])
rust(("Rust")) -.-> rust/DataTypesGroup(["Data Types"])
rust(("Rust")) -.-> rust/DataStructuresandEnumsGroup(["Data Structures and Enums"])
rust/BasicConceptsGroup -.-> rust/variable_declarations("Variable Declarations")
rust/DataTypesGroup -.-> rust/integer_types("Integer Types")
rust/DataTypesGroup -.-> rust/string_type("String 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/MemorySafetyandManagementGroup -.-> rust/lifetime_specifiers("Lifetime Specifiers")
rust/DataStructuresandEnumsGroup -.-> rust/method_syntax("Method Syntax")
rust/AdvancedTopicsGroup -.-> rust/operator_overloading("Traits for Operator Overloading")
subgraph Lab Skills
rust/variable_declarations -.-> lab-99197{{"Rust 中的部分移动解构"}}
rust/integer_types -.-> lab-99197{{"Rust 中的部分移动解构"}}
rust/string_type -.-> lab-99197{{"Rust 中的部分移动解构"}}
rust/type_casting -.-> lab-99197{{"Rust 中的部分移动解构"}}
rust/function_syntax -.-> lab-99197{{"Rust 中的部分移动解构"}}
rust/expressions_statements -.-> lab-99197{{"Rust 中的部分移动解构"}}
rust/lifetime_specifiers -.-> lab-99197{{"Rust 中的部分移动解构"}}
rust/method_syntax -.-> lab-99197{{"Rust 中的部分移动解构"}}
rust/operator_overloading -.-> lab-99197{{"Rust 中的部分移动解构"}}
end