Rust笔记 (一) 搭建开发环境

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 程序运行成功!

相关推荐
IT_陈寒2 小时前
Vite的热更新突然不香了,排查三小时差点砸键盘
前端·人工智能·后端
子兮曰2 小时前
Agency-Agents 深度解析:400+ AI 专家的"梦之队"如何重塑开发工作流
前端·后端·vibecoding
竹林8183 小时前
用 The Graph 查询链上数据实战:从手搓 RPC 到 Subgraph,我的 NFT 项目数据加载快了 10 倍
前端·javascript
妙码生花3 小时前
从 PHP 到 AI + Golang,程序员自救转型手记(十九):点选验证码代码逐行目检
前端·后端·go
Awu12274 小时前
⚡从零开发 Agent CLI(五)实现一个可治理、可扩展的工具系统
前端·人工智能·claude
咪库咪库咪4 小时前
Vue3-生命周期
前端
这个DBA有点耶5 小时前
AI写的SQL跑崩了生产库,这锅谁背?
数据库·人工智能·程序员
莪_幻尘5 小时前
你的 AI Skill 越多越蠢?Token 上下文爆炸的求生指南
前端·ai编程
lichenyang4535 小时前
从 has.echo 到异步 API 注册表:一次 ASCF API 回调不触发的排查复盘
前端
林瞅瞅5 小时前
Nuxt3 项目部署 Nginx 防盗链后特定 JS 文件 403 问题修复方案
前端