摘要:# 前言 到目前为止,本章中的所有示例都在一个文件中定义了多个模块。当模块变大时,您可能希望将它们的定义移动到单独的文件中,以便更轻松地浏览代码。 # 内容 现在让我们先把餐厅模块的代码进行梳理。我们将把模块提取到文件中,而不是在crate根文件中定义所有模块。在这种情况下,crate根文件是src/lib.rs,但此过程也适用于二进制crate,其crate根文件是src/ma 阅读全文
posted @ 2024-11-20 12:22:20 王洋 阅读(22) 评论(0) 推荐(0)
摘要:# 前言 来看一下 Rust 如何在模块树中找到一个项目的位置,我们使用路径的方式,就像在文件系统使用路径一样。如果我们想要调用一个函数,我们需要知道它的路径。 路径可以采用两种形式: - **绝对路径**(*absolute path*)从 crate 根部开始,以 crate 名或者字面量 `crate` 开头。 - **相对路径**(*relative path*)从当前 阅读全文
posted @ 2024-11-19 11:05:09 王洋 阅读(111) 评论(2) 推荐(0)
摘要:# 前言 在本节,我们将讨论模块和其它一些关于模块系统的部分,如允许你命名的 *路径*(*paths*);用来将路径引入作用域的 `use` 关键字;以及变为公有的 `pub` 关键字。我们还将讨论 `as` 关键字、外部包和 glob 运算符。 # 内容 ## 模块速查表 在了解模块和路径的详细信息之前,我们在这里提供了有关模块、路径、`use` 关键字和 `pub` 关 阅读全文
posted @ 2024-11-18 14:36:00 王洋 阅读(19) 评论(0) 推荐(0)
摘要:# 前言 Rust 具有许多功能,允许您管理代码的组织,包括公开哪些内容、哪些内容是私有的以及程序中每个作用域中的名称。这些功能有时统称为***模块系统***,包括: - **Packages:**一个 Cargo 功能,可让您构建、测试和共享 crate - **Crates:**生成库或可执行文件的模块树 - **Modules**:用于控制作用域和路径的私有性 - ** 阅读全文
posted @ 2024-11-18 10:20:14 王洋 阅读(23) 评论(0) 推荐(0)
摘要:# 前言 在这一章我们将开始`if let`的学习,`if let` 语法允许您将 `if` 和 `let` 组合成一种不太冗长的方式,以处理与一个模式匹配的值,同时忽略其余模式,现在让我们开始学习吧。 # 内容 现在让我们写一个代码,它与 `config_max` 变量中的 `Option` 值匹配,但只在值为 `Some` 成员时执行代码。 ```rus 阅读全文
posted @ 2024-11-12 17:15:07 王洋 阅读(74) 评论(2) 推荐(0)