【Rust】模块

包(Packages): Cargo 的一个功能,它允许你构建、测试和分享 crate。
Crates :一个模块的树形结构,它形成了库或二进制项目。
模块(Modules)和 use: 允许你控制作用域和路径的私有性。
路径(path):一个命名例如结构体、函数或模块等项的方式

创建一个库

cargo new --lib restaurant

定义模块

将模块定义在同一个文件中

src/lib.rs

mod back_of_house {
    pub fn take_order() {}
}
pub fn eat_at_restaurant() {
    back_of_house::take_order();
}

将模块分割进不同文件

src/back_of_house.rs 或 src/back_of_house/mod.rs

pub fn take_order() {}

src/lib.rs

pub mod back_of_house;
pub fn eat_at_restaurant() {
    back_of_house::take_order();
}

模块中包含模块

src/front_of_house/hosting.rs 或 src/front_of_house/hosting/mod.rs

pub fn take_order() {}

src/front_of_house.rs

pub mod hosting;

src/lib.rs

pub mod front_of_house;
pub use crate::front_of_house::hosting;
pub fn eat_at_restaurant() {
    hosting::add_to_waitlist();   
}

 

posted @   翠微  阅读(83)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
历史上的今天:
2020-02-04 【MySql】日期时间
点击右上角即可分享
微信分享提示