【Rust练习】26.Package and Crate

练习题来自:https://practice-zh.course.rs/crate-module/crate.html

建议在命令行下操作完成本节内容,Windows 11/10 首选 Windows 终端,好看,支持渲染中文字体,缺点是功能太少了;其次推荐 mobaxterm,除了难看没别的缺点,功能强大。

1

🌟 创建一个 package,拥有以下目录结构:

bash 复制代码
.
├── Cargo.toml
└── src
    └── main.rs

1 directory, 2 files
bash 复制代码
# in Cargo.toml
[package]
name = "hello-package"
version = "0.1.0"
edition = "2021"

最基本的创建

bash 复制代码
cargo new hello-package

2

🌟 创建一个 package,拥有以下目录结构:

bash 复制代码
.
├── Cargo.toml
└── src
    └── lib.rs

1 directory, 2 files
bash 复制代码
# in Cargo.toml
[package]
name = "hello-package1"
version = "0.1.0"
edition = "2021"

这是一个库的Package(我不知道怎么表达,反正大概这个意思)

bash 复制代码
cargo new hello-package2 --lib

3

bash 复制代码
/* 使用你的答案填空 */

// Q: package 1# 和 2# 的区别是什么 ?
// A: 1是一个正常的Rust Package,2是一个库

4

bash 复制代码
/* 填空 */

// Q: package `hello-package1` 中的库包名称是?
// A: hello-package1

5

🌟🌟 为 hello-package 添加一个库包,并且完成以下目录结构的填空:

bash 复制代码
# 填空
.
├── Cargo.lock
├── Cargo.toml
├── src
│   ├── main.rs
│   └── lib.rs

6

🌟🌟🌟 一个 package 最多只能包含一个库包,但是却可以包含多个二进制包:通过将二进制文件放入到 src/bin 目录下实现: 该目录下的每个文件都是一个独立的二进制包,包名与文件名相同,不再与 package 的名称相同。

bash 复制代码
# 创建一个 a package 包含以下包: 
# 1. 三个二进制包: `hello-package`, `main1` and `main2`
# 2. 一个库包
# 并完成以下目录结构的填空
.
├── Cargo.toml
├── Cargo.lock
├── src
│   ├── main.rs
│   ├── lib.rs
│   └── bin
│       └── main1.rs
│       └── main2.rs
├── tests # 存放集成测试文件的目录
│   └── some_integration_tests.rs
├── benches # 存放 benchmark 文件的目录dir for benchmark files
│   └── simple_bench.rs
└── examples # 存放示例文件的目录
    └── simple_example.rs

在上面项目的基础上继续创建即可

相关推荐
IT_陈寒3 小时前
Java中equals方法比了个寂寞?原来这才是正确的重写姿势
前端·人工智能·后端
Thneonl3 小时前
Celery 生产踩坑:1000 任务积压与 acks_late 双重执行
后端·python
卷福同学3 小时前
第一次当面试官有感
后端·面试
苏三说技术3 小时前
为什么越来越多人用 OnlyOffice?
后端
知守观3 小时前
@Transactional 事务失效排查,try-catch 吞异常导致回滚失败(附源码分析)
后端·spring
羑悻3 小时前
Codex + Seed-2.1-pro 实测:多模态理解 + Coding Agent 能扛住真实仓库吗?
后端
颜进强3 小时前
14 · NestJS ExecutionContext 执行上下文:守卫、拦截器、过滤器拿到的"同一个 context",为什么能力不一样?
前端·后端·ai编程
小小张说故事3 小时前
Python 多线程为什么跑不快?asyncio 入门指南:异步并发从零上手
后端·python
明月_清风3 小时前
数据进入平台后怎么处理?一文搞懂 ETL
大数据·后端·数据分析
初学AI的小高3 小时前
LangGraph断点恢复与幂等执行实战
后端·架构