Rust编程中Cargo的实用技巧

初始化项目不用再手动建文件夹

ref="/tag/2030/" style="color:#643D3D;font-weight:bold;">Rust程序,第一步基本都是用Cargo。你不需要自己新建src目录、写main.rs,直接一条命令就行:

cargo new my_project

执行完,Cargo会自动生成项目结构,包括源码目录、配置文件和.gitignore。比如你正在做一个小工具想快速验证想法,这个功能能省下不少重复操作。

依赖管理比手配方便太多

以前写C++要到处找库、编译、链接,Cargo把这步简化成了改配置。要在项目里用serde处理JSON,只需要在Cargo.toml里加一行:

[dependencies]
serde = { version = "1.0", features = ["derive"] }

保存后运行cargo build,它自动下载serde及其依赖,连版本冲突都会提示。就像手机装App,点一下就到位。

构建不同环境有对应指令

开发时用cargo build,生成的是带调试信息的可执行文件,适合排查问题。要发布时换成:

cargo build --release

生成的二进制文件体积更小,运行更快。比如你写了个命令行工具准备发给同事,用--release编译明显更合适。

运行和测试一键完成

想看程序输出?不用进target/debug找文件,直接:

cargo run

改了代码再跑,自动重新编译。写单元测试也一样,写好测试函数后运行:

cargo test

所有标注#[test]的函数都会被执行,结果一目了然。你在修一个bug,边改边测,这个流程特别顺手。

查看依赖树排查冲突

项目大了,依赖之间可能打架。Cargo提供了一个查看依赖关系的命令:

cargo tree

输出结果能清楚看到哪个库引用了谁。比如你发现两个版本的tokio被加载,用这个命令一查,马上定位是哪个依赖引入的老版本。

跨平台编译也能搞定

你的主力机是Linux,但要给用Windows的团队成员打包?安装对应的target后:

cargo build --target x86_64-pc-windows-gnu

就能生成Windows可用的exe。虽然需要提前配置交叉编译环境,但一旦搭好,出包效率提升明显。