Rust 程序设计语言 简体中文版 1.85.0对于一个由一系列相互 关联的包组成的超大型项目,Cargo 提供了工作空间(workspaces)这一功能,我们将在第十 四章的 “Cargo Workspaces” 对此进行讲解。 我们也会讨论封装来实现细节,这可以让你在更高层面重用代码:你实现了一个操作后,其他 的代码可以通过该代码的公共接口来进行调用,而不需要知道它是如何实现的。你在编写代码 时可以定义哪些部分是其他代码可以使用的公共部分,以及哪些部分是你有权更改实现细节的 数、方法、结构体、枚举、模块和常量)默认对父模块都是私有的。如果希望创建一个如函数 或结构体的私有项,可以将其放入一个模块。 父模块中的项不能使用子模块中的私有项,但是子模块中的项可以使用它们父模块中的项。这 是因为子模块封装并隐藏了它们的实现详情,但是子模块可以看到定义它们的上下文。继续我 138/562Rust 程序设计语言 简体中文版 们的比喻,把私有性规则想象成餐馆的后台办公室:后台的事务对餐厅顾客来说是不可知的, hosting。但是 hosting 的内容 (contents)仍然是私有的;这表明使模块公有并不使其内容也是公有的。模块上的 pub 关键 字只允许其父模块引用它,而不允许访问内部代码。因为模块是一个容器,只是将模块变为公 有能做的其实并不太多;同时需要更深入地选择将一个或多个项变为公有。 示例 7-6 中的错误说,add_to_waitlist 函数是私有的。私有性规则不但应用于模块,还应用 于结构体、枚举、函数和方法。0 码力 | 562 页 | 3.23 MB | 22 天前3
共 1 条
- 1













