Rust 是一门强调安全、并发、高效的系统编程语言。无 GC 实现内存安全机制、无数据竞争的并发机制、无运行时开销的抽象机制,是 Rust 独特的优越特性。 它声称解决了传统 C 语言和 C++语言几十年来饱受责难的内存安全问题,同时还保持了很高的运行效率、很深的底层控制、很广的应用范围, 在系统编程领域具有强劲的竞争力和广阔的应用前景。
1. Rust 环境安装
Rust 安装起来非常方便,你可以用 rustup.rs中给出的方法,根据你的操作系统进行安装。比如在 UNIX 系统下,可以直接运行:
arduino
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
这会在你的系统上安装 Rust 工具链,之后,你就可以在本地用 cargo new 新建 Rust 项目、尝试 Rust 功能。
cargo 是 rust 官方推荐使用的项目管理软件。功能大概类似于 java 里面的 maven 和 ant。负责管理依赖项和编译。 安装 rust 时,默认安装(可以自定义为不安装)。它也类似 Node.js 的 npm、Golang 的 go,用来做依赖管理以及开发过程中的任务管理,比如编译、运行、测试、代码格式化等等。
css
rustc --version
cargo --version
如果是 windows ,假如出现 "'rustc'不是内部或外部命令,也不是可运行的程序或批处理文件" 请在"环境变量"的 Path 中增加 rust 的 bin 目录。
2. 开发工具
你可以使用任何编辑器来撰写 Rust 代码,我个人比较喜欢 VS Code,功能强大且速度很快。在 VS Code 下我为 Rust 安装了一些插件,下面是我的安装顺序,你可以参考:
rust-analyzer:它会实时编译和分析你的 Rust 代码,提示代码中的错误,并对类型进行标注。你也可以使用官方的 Rust 插件取代。 rust syntax:为代码提供语法高亮。 crates:帮助你分析当前项目的依赖是否是最新的版本。 Crates 提供了一系列强大的功能来简化您的 Rust 开发工作流程:版本信息 :Crates 提供全面的版本信息,让您随时了解项目中的 crate。其中包括包含详细版本详细信息的工具提示和内嵌视觉反馈,以供快速参考和决策。快捷命令 :只需一个命令即可更新所有依赖项,以实现无缝工作流程。Crev 集成:通过与 Crev集成来访问有价值的代码审查和社区协作。获取反馈并就您所依赖的板条箱做出明智的决定。Doc.rs 集成:通过 Doc.rs的无缝集成,探索 Rust 的全面文档,包括包、库等。获得深入的知识和见解以增强您的编码体验。
even better toml:Rust 使用 toml 做项目的配置管理。better toml 可以帮你语法高亮,并展示 toml 文件中的错误。 rust test lens:可以帮你快速运行某个 Rust 测试。 Tabnine:基于 AI 的自动补全,可以帮助你更快地撰写代码。
3. 生成一个新的 Rust 项目
开发工具准备好之后,我们用 cargo new my-rust 生成一个新项目。默认情况下,这条命令会生成一个可执行项目 my-rust,入口在 src/main.rs。Cargo.toml 是 Rust 项目的配置管理文件,它符合 toml 的语法。
最后运行一下我们的 rust 项目。
arduino
cargo run
这样一来我们的 rust 开发环境就搭建好了。
4. 写第一个 Rust 程序
4.1 一个小爬虫
通过 rust 抓取掘金首页。
rust
use std::fs;
fn main() {
let url = "https://juejin.cn/";
let output = "rust.md";
println!("Fetching url: {}", url);
let body = reqwest::blocking::get(url).unwrap().text().unwrap();
println!("Converting html to markdown...");
let md = html2md::parse_html(&body);
fs::write(output, md.as_bytes()).unwrap();
println!("Converted markdown hash been saved in {}", output);
}
Bingo!我们第一个 Rust 程序运行成功!