【Rust模块管理】Rust包、crate与模块管理
✨✨ 欢迎大家来到景天科技苑✨✨
🎈🎈 养成好习惯,先赞后看哦~🎈🎈
🏆 作者简介:景天科技苑
🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,ZEEKLOG全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。
🏆《博客》:Rust开发,Python全栈,Golang开发,云原生开发,PyQt5和Tkinter桌面开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi,flask等框架,云原生K8S,linux,shell脚本等实操经验,网站搭建,数据库等分享。
所属的专栏:Rust语言通关之路
景天的主页:景天科技苑
文章目录
1、名词定义
包:Cargo的一个功能,允许构建,测试,和分享crate。
crate:一个模块的树形结构,形成库或二进制项目。
模块:通过use来使用,用来控制作用域和路径的私有性。
路径:一个命名 例如结构体、函数或模块等项的方式
在 Rust 中,模块(module)是组织代码的基础单位,它帮助你将代码划分为多个逻辑部分,便于管理、复用和控制访问权限。
模块是一个命名空间,用于组织函数、结构体、枚举、常量、trait 和其他模块。Rust 中的模块可以嵌套,并且支持私有和公开访问控制。
2、包和crate
(1) crate root 是一个源文件,Rust 编译器以它为起始点,并构成你的 crate 的根模块。
(2) 包提供一系列功能的一个或多个Crate。
(3) Crate root是src/main.rs或者是src/lib.rs。说明: 如果只有main.rs则说明这个包只有一个crate(main),如果同时拥有main.rs和其它的lib.rs(不一定是这个名字)则说明拥有多个crate。
(4) crate会将一个作用域的相关功能分组到一起,使得该功能可以很方便的在多个项目之间共享。
3、Rust模块
3.1 模块的定义与作用
模块(Module)是Rust中代码组织的基本单元,主要功能包括:
命名空间管理:防止命名冲突
封装性:通过pub关键字控制可见性
代码组织:将相