diff --git "a/data/1.rust\345\210\235\351\230\266/1.\351\242\204\345\244\207\347\237\245\350\257\206/5.Cargo\347\232\204\344\275\277\347\224\250/cargo_usage.json" "b/data/1.rust\345\210\235\351\230\266/1.\351\242\204\345\244\207\347\237\245\350\257\206/5.Cargo\347\232\204\344\275\277\347\224\250/cargo_usage.json" new file mode 100644 index 0000000000000000000000000000000000000000..a83a00bd23015e9bbc1c81ee276aef8b78877c26 --- /dev/null +++ "b/data/1.rust\345\210\235\351\230\266/1.\351\242\204\345\244\207\347\237\245\350\257\206/5.Cargo\347\232\204\344\275\277\347\224\250/cargo_usage.json" @@ -0,0 +1,7 @@ +{ + "type": "code_options", + "author": "jacky_rust", + "source": "cargo_usage.md", + "notebook_enable": false, + "exercise_id": "10ea7a4735644f6d8ede35025224887a" + } \ No newline at end of file diff --git "a/data/1.rust\345\210\235\351\230\266/1.\351\242\204\345\244\207\347\237\245\350\257\206/5.Cargo\347\232\204\344\275\277\347\224\250/cargo_usage.md" "b/data/1.rust\345\210\235\351\230\266/1.\351\242\204\345\244\207\347\237\245\350\257\206/5.Cargo\347\232\204\344\275\277\347\224\250/cargo_usage.md" new file mode 100644 index 0000000000000000000000000000000000000000..519b98dcb619195e7c1079c15976a5d114388fbc --- /dev/null +++ "b/data/1.rust\345\210\235\351\230\266/1.\351\242\204\345\244\207\347\237\245\350\257\206/5.Cargo\347\232\204\344\275\277\347\224\250/cargo_usage.md" @@ -0,0 +1,51 @@ +# Cargo 的使用 + +当项目变大时,通常的做法是将代码重构为更小、更易于管理的单元,即模块或程序库。你还需要工具来管理相关的依赖项。 + +Cargo 是能够帮助你处理上述所有事情的工具。 + +Rust 编写的程序库被称为 crate。 通常,crate 放置在三个地方以供使用:本地目录、 GitHub之类的在线Git代码库,或者像 crates.io 这样的在线托管 crate 服务。 + +Cargo 支持上述所有来源的软件包。 + + +最常用的Cargo 命令有: +- cargo new my_new_project // 新建二进制程序项目 +- cargo new my_new_lib --lib // 新建库项目 +- cargo run // 构建项目的带调试信息的程序,并运行 +- cargo run --release // 构建项目的发布优化程序,并运行 +- cargo build --release // 构建项目的发布优化程序 +- cargo test // 运行项目的单元测试,集成测试,以及文档测试 +- cargo bench // 基础测试 +- cargo doc --open // 构建项目本身的及所有依赖项的文档,并打开 +- cargo install // 安装一个二进制命令 +- cargo run --example my_example // 运行项目 examples 目录内的 my_example 文件,以直观的查看示例效果 + + +实际上,cargo 甚至还有一个命令能同时帮你编译代码,提示错误并提供地道写法的优化建议,在学习 rust 的过程中经常运行它会让你更快的学习到 rust 并提升代码质量,它是: + +## 答案 + +### clippy 是 cargo 的一个非常有用的 lint 工具,在学习 rust 的时候不时运行 cargo clippy 会学到很多有用的写法,提升代码质量。 + +cargo clippy + +## 选项 + +### A + +cargo fmt + +### B + +cargo fix + +### C + +cargo search + + + \ No newline at end of file diff --git "a/data/1.rust\345\210\235\351\230\266/1.\351\242\204\345\244\207\347\237\245\350\257\206/5.Cargo\347\232\204\344\275\277\347\224\250/config.json" "b/data/1.rust\345\210\235\351\230\266/1.\351\242\204\345\244\207\347\237\245\350\257\206/5.Cargo\347\232\204\344\275\277\347\224\250/config.json" index 74398e4a2fc18a5436ff670be7e6c61ab4441705..21fab8605362c772567cb15e9ac940c76317839a 100644 --- "a/data/1.rust\345\210\235\351\230\266/1.\351\242\204\345\244\207\347\237\245\350\257\206/5.Cargo\347\232\204\344\275\277\347\224\250/config.json" +++ "b/data/1.rust\345\210\235\351\230\266/1.\351\242\204\345\244\207\347\237\245\350\257\206/5.Cargo\347\232\204\344\275\277\347\224\250/config.json" @@ -2,7 +2,9 @@ "node_id": "rust-119147272ba14449b783fdbdff32466d", "keywords": [], "children": [], - "export": [], + "export": [ + "cargo_usage.json" + ], "keywords_must": [], "keywords_forbid": [] } \ No newline at end of file