【Rust】01-认识 Rust:语言定位、工具链与第一个程序

认识 Rust:语言定位、工具链与第一个程序

学习目标

  • 理解 Rust 适合解决什么问题。
  • 知道 rustuprustccargo 分别负责什么。
  • 能创建并运行一个最小 Rust 项目。

Rust 是什么

Rust 是一门系统级编程语言,目标是在接近 C/C++ 性能的同时,提供更强的内存安全和并发安全。它最大的特点是把许多原本会在运行时才暴露的问题提前到编译期检查,例如悬垂引用、数据竞争、重复释放内存等。

Rust 适合这些场景:

  • 命令行工具和后端服务。
  • 高性能网络程序。
  • 嵌入式和操作系统相关开发。
  • WebAssembly。
  • 对稳定性和资源控制要求较高的基础设施软件。

Rust 不会自动回收内存,也没有传统意义上的垃圾回收器。它依靠所有权、借用和生命周期规则,让编译器判断一段内存何时可用、何时释放、谁可以读取或修改。

工具链

Rust 常用工具链包括:

  • rustup:安装和管理 Rust 工具链版本。
  • rustc:Rust 编译器。
  • cargo:项目管理、依赖管理、构建、测试和发布工具。
  • rustfmt:代码格式化工具。
  • clippy:静态检查工具,能发现常见低质量写法。

日常开发中最常使用的是 cargo,而不是直接调用 rustc

创建第一个项目

bash 复制代码
cargo new hello-rust
cd hello-rust
cargo run

cargo new 会生成一个标准项目:

text 复制代码
hello-rust/
├── Cargo.toml
└── src/
    └── main.rs

Cargo.toml 是项目配置文件,记录包名、版本、依赖和构建配置。src/main.rs 是二进制程序入口。

默认代码通常类似:

rust 复制代码
fn main() {
    println!("Hello, world!");
}

main 是程序入口函数。println! 后面的感叹号表示它是一个宏,不是普通函数。

常用 Cargo 命令

bash 复制代码
cargo build      # 编译项目
cargo run        # 编译并运行
cargo check      # 只做快速检查,不生成最终可执行文件
cargo test       # 运行测试
cargo fmt        # 格式化代码
cargo clippy     # 执行更严格的静态检查

学习阶段推荐频繁使用 cargo check。它比完整构建更快,可以快速发现类型错误、借用错误和语法错误。

Debug 与 Release

默认 cargo build 生成 debug 构建,编译快,运行速度不是最优。

bash 复制代码
cargo build --release

release 构建会启用优化,适合性能测试和发布。但它编译更慢,调试信息也更少。

常见误区

  • 不要一开始就把 Rust 当成"语法更现代的 C++"。Rust 的核心是所有权模型。
  • 不要直接跳过编译器错误。Rust 编译器错误通常很有价值,能告诉你概念哪里没理解到位。
  • 不要只看语法。必须通过小程序练习所有权、借用、错误处理和 trait。

练习

  1. 创建一个新项目 guess-number,运行默认程序。
  2. 修改 main.rs,打印你的名字和当前学习目标。
  3. 分别运行 cargo checkcargo runcargo build --release,观察生成的 target 目录变化。

后记

2026年6月10日16点57分于上海。

相关推荐
程序员爱钓鱼4 小时前
Rust 切片 Slice 详解:安全访问连续数据
前端·后端·rust
-银雾鸢尾-8 小时前
C#中的拓展方法
开发语言·c#
guodingdingh10 小时前
软件开发工作问题总结0718
java·开发语言·数据库
花褪残红青杏小10 小时前
Rust图像处理第20节-PCA 主成分分析:把图片压缩到 3 个数字
rust·webassembly·图形学
咖啡八杯11 小时前
GoF设计模式——解释器模式
java·后端·spring·设计模式
优橙教育12 小时前
5G网优培训 vs Java开发:转行选哪个?
java·开发语言·5g
掘金码甲哥12 小时前
这块终端神器, 必须吹爆!
后端
糖果店的幽灵12 小时前
【DeepAgents 从入门到精通】Context Management 上下文管理
java·人工智能·后端·spring·中间件·langgraph·deepagents
Csvn13 小时前
📊 SQL 入门 Day 8:集合操作 — 用 SQL 做数学里的"并交差"
后端·sql
SeaTunnel14 小时前
从 Python Script 地狱到标准化数据集成框架
大数据·开发语言·python·程序员·代码·seatunnel