当前位置: 首页 > news >正文

第 4 章:模块与包管理

第 4 章:模块与包管理

第 4 章:模块与包管理

4.1 cargo 基础

Cargo 是 Rust 的包管理器和构建工具。

  • cargo new project_name
  • cargo build
  • cargo run
  • cargo test

Cargo.toml

[package]
name = "my_project"
version = "0.1.0"
edition = "2021"[dependencies]
  • [dependencies] 中添加依赖库

4.2 模块系统

模块用于组织代码:

mod front_of_house {pub fn serve_order() {}
}fn main() {front_of_house::serve_order();
}
  • mod 声明模块
  • pub 控制可见性

文件与模块对应

  • mod foo; 对应 foo.rs
  • mod bar {} 对应内联模块

4.3 包与依赖

  • crate 是一个编译单元
  • 包可以包含一个或多个 crate
  • 工作区可以管理多个包
[workspace]
members = ["crate_a", "crate_b"]

4.4 文档注释与生成

Rust 使用三斜线注释生成文档:

/// 这是一个计算两个数之和的函数。
fn add(a: i32, b: i32) -> i32 {a + b
}

运行 cargo doc --open 生成 HTML 文档。

4.5 练习

  • 创建一个新的 Cargo 项目,并编写一个简单库
  • 将功能拆分为多个模块和子模块
  • 添加第三方依赖并使用它
http://www.jsqmd.com/news/785502/

相关文章:

  • 量子计算动态解耦技术:原理、实现与应用
  • 基于Playwright的浏览器自动化技能库:从模块化封装到实战应用
  • 开源OSINT工具iGotcha:模块化数字痕迹追踪与信息聚合实战
  • 大模型评测中的多样性挑战:从标准化基准到公平评估的实践路径
  • AI技术博客实战:从资讯编译到深度文章的全流程解析
  • 告别点灯调试:用Arduino和TM1629A快速搭建一个多功能显示仪表盘
  • C++学习(26_05_09)
  • 对比自行维护Taotoken在稳定性与成本上的优势感知
  • 港风滤镜下的郑斯仁,在复古里寻找演员的多面性
  • 快速学Python编程-免费|零基础入门好处多多
  • 别再死记硬背IIC时序图了!用Arduino UNO和逻辑分析仪,5分钟带你亲手抓取波形搞懂它
  • 【Anthropic NLA 】深度拆解:自然语言自动编码器——撬开 LLM 黑箱的五把钥匙
  • 基于知识图谱与NLP的智能食谱推荐系统:从数据构建到对话引擎
  • 机器学习在生命科学中的应用:从蛋白质结构预测到单细胞分析
  • 上海外墙装饰服务商深度测评及选型指南 - 海棠依旧大
  • DownKyi视频解析引擎:B站多媒体内容获取与处理的技术架构解析
  • AI新闻周报 2026-05-04_2026-05-09
  • ceshi02ceshi03ceshi02ceshi03ceshi02ceshi03ceshi02ceshi03
  • 终极免费方案:3分钟解锁网易云音乐NCM格式,实现音乐自由
  • AI药物发现:从知识图谱到生成式化学的核心技术与实践挑战
  • 告别Webpack!用Electron Forge + Vite + Vue3从零搭建桌面应用(附完整配置流程)
  • 面试拷打:MySQL 一次批量插入多少条最优?答数字不会推导直接 -50 分
  • 2026年豆包推广优选攻略 德知域核心技术优势解析 - 打我的的
  • 3分钟终极指南:TrollInstallerX一键安装TrollStore完整教程
  • S32K312实战:用EB Tresos Studio手把手配置ICU模块,实现eMIOS引脚边缘检测
  • 边走边聊 Python 3.8:Chapter 15:FastAPI 异步 API
  • Q-learning算法在多市场寡头竞争中的动态演化与合谋抑制研究
  • CANN A2纯向量核编写
  • 乐迪Pix Mini飞控+好盈65A四合一电调:保姆级电调校准与信号线改装避坑指南
  • AI编程安全实践:三层防御体系守护“氛围编程”应用