一、Rust概述
1.1 什么是Rust
Rust 是一门强调内存安全、并发安全与高性能的系统编程语言。它通过所有权、借用与生命周期等独特的类型系统设计,在不依赖垃圾回收的前提下提供可靠的内存管理,同时保持与 C/C++ 接近的运行效率。
1.2 为什么选择Rust
- 安全可靠:在编译期防止数据竞争与悬垂引用。
- 高性能:零成本抽象、面向性能的标准库与编译器优化。
- 现代生态:使用
cargo进行构建、测试与发布,crates.io提供丰富依赖。 - 跨平台:支持 Windows、macOS、Linux、WebAssembly 与嵌入式等场景。
- 工具完善:
rustup管理多版本工具链,rust-analyzer提供高效 IDE 体验。
1.3 核心概念
- 所有权与借用:通过编译期规则确保资源的唯一性与可控共享。
- 生命周期:描述引用在编译期的有效范围,避免悬垂指针。
- Trait:定义行为接口,支持泛型与多态。
- 模式匹配与枚举:通过
match实现安全且表达力强的分支逻辑。 - 宏与零成本抽象:在不增加运行时开销的前提下提升表达能力。
二、Windows搭建Rust开发环境
2.1 环境与工具链选择
- 推荐使用 MSVC 工具链(Visual Studio C++ 生成工具)以获得更好的兼容性。
- GNU 工具链适合基于 MinGW/MSYS2 的环境。一般开发者选择 MSVC 即可。
2.2 通过 rustup 安装 Rust
-
使用安装包:访问 Rust 官方下载页面,下载并运行
rustup-init.exe,按提示安装。 -
使用包管理器:如果已安装
winget,可执行:winget install Rustlang.Rustup
安装完成后,打开新的终端验证:
css
rustc --version
cargo --version
2.3 配置工具链
查询当前状态:
sql
rustup show
设置默认稳定版:
arduino
rustup default stable
安装并切换到 MSVC 工具链(如未默认安装):
arduino
rustup toolchain install stable-x86_64-pc-windows-msvc
rustup default stable-x86_64-pc-windows-msvc
如需 GNU 工具链:
arduino
rustup toolchain install stable-x86_64-pc-windows-gnu
rustup default stable-x86_64-pc-windows-gnu
2.4 安装 MSVC 依赖
若使用 MSVC,请安装 Visual Studio Build Tools,并选择"使用 C++ 的桌面开发"或至少包含"MSVC、Windows SDK 与 CMake"组件。
2.5 安装常用组件
csharp
rustup component add rustfmt clippy
2.6 开发工具建议
- VS Code:安装
Rust Analyzer扩展以获得语法高亮、补全与诊断。 - 终端:使用 Windows Terminal 或 PowerShell 以获得更好的体验。
2.7 常见问题
PATH未生效:重新打开终端或在系统环境变量中确认~\.cargo\bin已添加。- 多版本冲突:检查
where rustc与where cargo,确保指向~\.cargo\bin。 - 代理与网络:必要时配置终端代理后再执行
rustup update。
三、MacOS搭建Rust开发环境
3.1 安装命令行工具
lua
xcode-select --install
3.2 安装 Rust
通过 rustup 安装:
arduino
curl https://sh.rustup.rs -sSf | sh
安装完成后执行:
scss
rustc --version
cargo --version
rustup default stable
3.3 常用组件与 IDE
csharp
rustup component add rustfmt clippy
- VS Code 安装
Rust Analyzer扩展。
四、Ubuntu搭建Rust开发环境
4.1 安装基础依赖
arduino
sudo apt update
sudo apt install -y build-essential curl pkg-config libssl-dev
4.2 安装 Rust
arduino
curl https://sh.rustup.rs -sSf | sh
重新加载环境或开启新终端后验证:
scss
rustc --version
cargo --version
rustup default stable
4.3 常用组件
csharp
rustup component add rustfmt clippy
五、Rust快速入门
5.1 使用 Cargo 创建项目
sql
cargo new hello_rust --bin
cd hello_rust
5.2 编写并运行
编辑 src/main.rs:
arduino
fn main() {
println!("Hello, Rust");
}
运行:
arduino
cargo run
5.3 管理依赖
在 Cargo.toml 添加依赖示例:
ini
[dependencies]
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
示例代码:
rust
use serde::{Deserialize, Serialize};
#[derive(Serialize, Deserialize)]
struct User {
id: u64,
name: String,
}
fn main() {
let u = User { id: 1, name: "Alice".to_string() };
let s = serde_json::to_string(&u).unwrap();
println!("{}", s);
}
5.4 编写与运行测试
rust
#[cfg(test)]
mod tests {
#[test]
fn it_works() {
assert_eq!(2 + 2, 4);
}
}
运行测试:
bash
cargo test
5.5 格式化与静态检查
bash
cargo fmt
cargo clippy
5.6 构建发布版本
arduino
cargo build --release
生成的可执行文件位于 target/release/。
5.7 学习资源与下一步
- 官方文档与教程:《The Rust Programming Language》《Rust By Example》。
- 练习建议:编写命令行工具、HTTP 服务或 WebAssembly 小项目以熟悉生态。