简介
在本实验中,我们将探索 Rust 中 ?
运算符的用法,它允许轻松解包 Option
值,而无需使用嵌套的 match
语句。如果 Option
是 Some
,则 ?
运算符可用于快速返回其底层值;如果 Option
是 None
,则终止函数并返回 None
。这个运算符可以链接在一起,使代码更具可读性和简洁性。
注意:如果实验未指定文件名,你可以使用任何你想要的文件名。例如,你可以使用
main.rs
,并通过rustc main.rs &&./main
进行编译和运行。
Skills Graph
%%%%{init: {'theme':'neutral'}}%%%%
flowchart RL
rust(("Rust")) -.-> rust/ErrorHandlingandDebuggingGroup(["Error Handling and Debugging"])
rust(("Rust")) -.-> rust/FunctionsandClosuresGroup(["Functions and Closures"])
rust(("Rust")) -.-> rust/MemorySafetyandManagementGroup(["Memory Safety and Management"])
rust(("Rust")) -.-> rust/DataStructuresandEnumsGroup(["Data Structures and Enums"])
rust(("Rust")) -.-> rust/AdvancedTopicsGroup(["Advanced Topics"])
rust(("Rust")) -.-> rust/BasicConceptsGroup(["Basic Concepts"])
rust(("Rust")) -.-> rust/DataTypesGroup(["Data Types"])
rust/BasicConceptsGroup -.-> rust/variable_declarations("Variable Declarations")
rust/DataTypesGroup -.-> rust/integer_types("Integer Types")
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/ErrorHandlingandDebuggingGroup -.-> rust/error_propagation("Error Propagation")
rust/AdvancedTopicsGroup -.-> rust/traits("Traits")
rust/AdvancedTopicsGroup -.-> rust/operator_overloading("Traits for Operator Overloading")
subgraph Lab Skills
rust/variable_declarations -.-> lab-99235{{"使用?解包 Option"}}
rust/integer_types -.-> lab-99235{{"使用?解包 Option"}}
rust/function_syntax -.-> lab-99235{{"使用?解包 Option"}}
rust/expressions_statements -.-> lab-99235{{"使用?解包 Option"}}
rust/lifetime_specifiers -.-> lab-99235{{"使用?解包 Option"}}
rust/method_syntax -.-> lab-99235{{"使用?解包 Option"}}
rust/error_propagation -.-> lab-99235{{"使用?解包 Option"}}
rust/traits -.-> lab-99235{{"使用?解包 Option"}}
rust/operator_overloading -.-> lab-99235{{"使用?解包 Option"}}
end