Rust 语言入门基础教程:从环境搭建到 Cargo 工具链



目录
- 一、Rust 环境搭建:跨平台安装指南
- 1. Windows 系统安装
- 2. 卸载 Rust
- 二、Rust 基础语法入门:从 Hello World 到核心概念
- 1. 第一个 Rust 程序:Hello World
- 2. 变量与数据类型
- (1)变量声明
- (2)常用数据类型
- 3. 控制流:if-else 与循环
- (1)if-else 表达式
- (2)循环
- 4. 函数定义与调用
- 三、Cargo 工具链:Rust 项目的“全能管家”
- 1. Cargo 核心功能
- (1)创建新项目
- (2)编译项目
- (3)运行项目
- (4)检查代码(不编译)
- 2. 依赖管理:添加第三方库
- (1)修改 Cargo.toml
- (2)下载并使用依赖
- 1. Cargo 核心功能
- 四、入门总结与进一步的学习
前言:
作为一门注重安全、高效且兼具现代特性的系统级编程语言,Rust 凭借内存安全机制、零成本抽象等优势,在区块链、嵌入式开发、系统编程等领域备受青睐。本文将从新手视角出发,带领我们一步步掌握 Rust 入门核心技术:环境搭建、基础语法及 Cargo 工具链使用,帮我们快速开启 Rust 学习之旅。
一、Rust 环境搭建:跨平台安装指南(以Windows为例)
要学习 Rust,首先需要搭建好开发环境。Rust 官方提供了统一的安装工具 rustup,支持 Windows、macOS、Linux 三大主流系统,操作简单且能自动管理版本。
1. Windows 系统安装
- 打开浏览器,访问 Rust 官方网站:https://www.rust-lang.org/,点击首页的 “Install” 按钮,下载
rustup-init.exe安装程序。
配置环境变量
在运行安装程序前,建议配置以下环境变量以指定自定义安装路径和加速下载:
以下是整理好的 Rust 环境变量配置说明表格:
| 变量名称 | 说明 | 备注 |
|---|---|---|
| RUSTUP_DIST_SERVER | 替换下载源为旋武镜像 | 推荐: https://mirror.xuanwu.openatom.cn |
| RUSTUP_UPDATE_ROOT | 替换 Rustup 更新源为旋武镜像 | 推荐: https://mirror.xuanwu.openatom.cn/rustup |
| (可选) CARGO_HOME | 自定义 cargo 配置、缓存、二进制存放目录 | 默认:%USERPROFILE%.cargo (例: C:\Users\xxx.cargo) |
| (可选) RUSTUP_HOME | 自定义 Rust 工具链安装目录 | 默认:%USERPROFILE%.rustup (例: C:\Users\xxx.rustup) |
补充说明:环境变量配置方法
在安装 Rust 前配置上述环境变量,可优化下载速度或自定义安装路径,具体操作如下:
当然也可以使用命令提示符 (CMD) 运行以下命令快速添加:
setx RUSTUP_DIST_SERVER https://mirror.xuanwu.openatom.cn
setx RUSTUP_UPDATE_ROOT https://mirror.xuanwu.openatom.cn/rustup
也可以通过打开 系统设置 → 系统 → 关于(或系统信息) → 高级系统设置 → 环境变量, 在 用户变量 中点击 新建 或 编辑,依次添加上述变量。如下如所示:

- 1.双击运行安装程序,会弹出命令行窗口,按照提示操作:
- 2.若未安装 Visual Studio MSVC Buildtools 组件,程序会提示在线安装,按回车键继续。(若此步骤出现问题可以参考 手动安装 MSVC Buildtools)。
- 3.按回车键直接使用默认选项安装或输入 2 开始自定义安装。
| 选项 | 说明 | 默认值 |
|---|---|---|
| Default host triple | 目标平台架构 | x86_64-pc-windows-msvc |
| Default toolchain | 工具链版本 | stable |
| Profile | 安装组件集 | default |
| Modify PATH | 是否将 Rust 添加到系统 PATH | y |
- 4.安装成功后,程序会提示 Rust is installed now. Great!,按任意键退出安装程序。
- 5.配置 crates.io 镜像
创建 <CARGO_HOME>/config.toml 文件,
添加以下内容:
注: <CARGO_HOME> 默认为 %USERPROFILE%.cargo 路径 (例如: C:\Users\xxx\.cargo), 如果在配置环境变量步骤中手动配置了不同路径,请以手动配置的路径为准。
[net]
git-fetch-with-cli = true[source.crates-io]
replace-with = 'xuanwu-sparse'[source.xuanwu]
registry = "https://mirror.xuanwu.openatom.cn/crates.io-index"[source.xuanwu-sparse]
registry = "sparse+https://mirror.xuanwu.openatom.cn/index/"[registries.xuanwu]
index = "https://mirror.xuanwu.openatom.cn/crates.io-index"
- 验证安装:打开新的命令提示符(CMD)或 PowerShell,输入以下命令:
rustc --version # 查看编译器版本,如输出 rustc 1.75.0 (82e1608df 2023-12-21) cargo --version # 查看 Cargo 版本,如输出 cargo 1.75.0 (1d8b05cdd 2023-11-20)
若能正常输出版本信息,说明环境搭建成功。
2. 卸载 Rust
若后续需要卸载,只需在终端/命令行输入:
rustup self uninstall
二、Rust 基础语法入门:从 Hello World 到核心概念
环境搭建完成后,我们从最经典的 “Hello World” 程序入手,逐步学习 Rust 基础语法。
1. 第一个 Rust 程序:Hello World
- 新建一个文本文件,命名为
main.rs(Rust 源文件后缀为.rs)。 - 写入以下代码:
// 这是单行注释(// 开头) /* 这是多行注释可以跨行吗 */ fn main() {// 程序入口函数,Rust 程序从 main 函数开始执行println!("Hello, Rust!"); // 打印输出,! 表示调用的是宏(非普通函数) } - 编译并运行:
- 终端进入
main.rs所在目录,输入rustc main.rs编译代码,会生成可执行文件(Windows 是main.exe,macOS/Linux 是main)。 - 运行可执行文件:
- Windows:
.\main.exe - macOS/Linux:
./main
- Windows:
- 执行后终端输出
Hello, Rust!,第一个程序运行成功!
- 终端进入
可以通过我们的在线体验,来验证这个代码

2. 变量与数据类型
Rust 是强类型语言,变量默认不可变(immutable),需显式声明可变(mutable)。
(1)变量声明
- 不可变变量(默认):用
let声明,赋值后不能修改,类似常量但可重新绑定。fn main() {let x = 5; // 不可变变量,类型自动推导为 i32(32 位整数)// x = 6; // 错误!不可变变量不能修改let x = 10; // 允许重新绑定,x 变为 10println!("x = {}", x); // 输出 x = 10 } - 可变变量:用
let mut声明,赋值后可修改。fn main() {let mut y = 3;y = 7; // 合法,可变变量可修改println!("y = {}", y); // 输出 y = 7 }
(2)常用数据类型
Rust 数据类型分为 标量类型(单个值)和 复合类型(多个值组合)。
- 标量类型:
- 整数:
i8(8 位有符号)、i32(默认)、u64(64 位无符号)等,如let a: i32 = 42; - 浮点数:
f32、f64(默认),如let b: f64 = 3.14; - 布尔值:
bool,只有true和false,如let c = true; - 字符:
char(Unicode 字符,用单引号包裹),如let d: char = 'R';
- 整数:
- 复合类型:
- 元组(Tuple):固定长度,元素类型可不同,如
let tup: (i32, f64, char) = (10, 2.5, 'a');
取值用索引:let first = tup.0;(输出 10) - 数组(Array):固定长度,元素类型相同,如
let arr: [i32; 3] = [1, 2, 3];
取值用索引:let second = arr[1];(输出 2)
- 元组(Tuple):固定长度,元素类型可不同,如
3. 控制流:if-else 与循环
(1)if-else 表达式
Rust 中 if 条件不需要括号,且 if 是表达式(可返回值)。
fn main() {let age = 18;if age >= 18 {println!("成年");} else {println!("未成年");}// if 作为表达式返回值let status = if age >= 18 { "成年" } else { "未成年" };println!("状态:{}", status); // 输出 状态:成年
}
(2)循环
Rust 提供三种循环:loop(无限循环)、while(条件循环)、for(遍历循环)。
loop:无限循环,需用break退出,可返回值。fn main() {let mut count = 0;let result = loop {count += 1;if count == 3 {break count; // 退出循环并返回 count}};println!("result = {}", result); // 输出 result = 3 }while:满足条件时循环。fn main() {let mut num = 5;while num > 0 {println!("num = {}", num);num -= 1;}// 输出:5、4、3、2、1 }for:遍历集合(数组、范围等),最常用且安全。fn main() {let arr = [10, 20, 30];for item in arr {println!("item = {}", item); // 输出 10、20、30}// 遍历范围(1 到 4,左闭右开)for i in 1..5 {println!("i = {}", i); // 输出 1、2、3、4} }
4. 函数定义与调用
Rust 函数用 fn 声明,格式为:fn 函数名(参数: 类型) -> 返回值类型 { 函数体 }。
// 定义一个加法函数,参数 a、b 为 i32,返回值为 i32
fn add(a: i32, b: i32) -> i32 {a + b // Rust 函数最后一行表达式可省略 return,直接作为返回值
}fn main() {let result = add(3, 5);println!("3 + 5 = {}", result); // 输出 3 + 5 = 8
}
三、Cargo 工具链:Rust 项目的“全能管家”
cargo 是 Rust 官方提供的构建工具和包管理器,能帮我们快速创建项目、编译代码、运行程序、管理依赖等,是 Rust 开发的必备工具。
1. Cargo 核心功能
(1)创建新项目
终端输入以下命令,创建一个名为 my_first_rust 的项目:
cargo new my_first_rust
执行后会生成如下目录结构:
my_first_rust/
├── Cargo.toml # 项目配置文件(依赖、版本等)
└── src/ # 源代码目录└── main.rs # 主程序文件
Cargo.toml:类似package.json(Node.js),记录项目名称、版本、依赖等信息,示例内容:[package] name = "my_first_rust" version = "0.1.0" edition = "2021" # Rust 版本(2018/2021)# 依赖配置 [dependencies] # 这里将添加第三方依赖
(2)编译项目
进入项目根目录(cd my_first_rust),执行以下命令编译项目:
cargo build # 普通编译,生成 debug 版本(默认在 target/debug/ 目录)
# 或
cargo build --release # 优化编译,生成 release 版本(在 target/release/ 目录,运行更快)
编译成功后,会在 target 目录下生成可执行文件。
(3)运行项目
无需手动编译后再运行,Cargo 提供了直接运行命令:
cargo run # 编译并运行 debug 版本
# 或
cargo run --release # 编译并运行 release 版本
执行后会输出 Hello, world!(默认 main.rs 内容)。
(4)检查代码(不编译)
若只想检查代码语法错误,无需生成可执行文件,可执行:
cargo check
该命令速度比 cargo build 快,适合开发中快速验证代码正确性。
2. 依赖管理:添加第三方库
Rust 生态有丰富的第三方库(称为“crates”),可通过 Cargo 快速引入。以添加 rand 库(生成随机数)为例:
(1)修改 Cargo.toml
在 [dependencies] 下添加 rand 依赖及版本:
[dependencies]
rand = "0.8.5" # 指定版本为 0.8.5
(2)下载并使用依赖
保存 Cargo.toml 后,执行 cargo build 或 cargo run,Cargo 会自动下载 rand 库及其依赖,并存放在 ~/.cargo/registry 目录(全局缓存)。
在 src/main.rs 中使用 rand 库:
use rand::Rng; // 引入 rand 库的 Rng traitfn main() {let mut rng = rand::thread_rng(); // 创建随机数生成器let random_num = rng.gen_range(1..=10); // 生成 1-10 的随机数println!("随机数:{}", random_num); // 输出随机数,如 7
}
执行 cargo run,即可看到随机数输出。
四、入门总结与进一步的学习
本文带我们掌握了 Rust 入门的三大核心:
- 环境搭建:通过
rustup快速安装跨平台环境; - 基础语法:变量、数据类型、控制流、函数的基本使用;
- Cargo 工具链:项目创建、编译、运行及依赖管理。
接下来,我们可以深入学习 Rust 的核心特性:所有权(Ownership)、借用(Borrowing)、生命周期(Lifetimes),这些是 Rust 内存安全的关键,也是区别于其他语言的核心难点可以结合官方文档(Rust 官方书)和小项目巩固学习,逐步掌握 Rust 的强大能力!
参考链接:
- 1: 新手入门指南
- 2:在线体验
- 3:Rust算法案例
- 4:Rust工程示例
