长安的 Rust 入门教程长安的 Rust 入门教程
首页
基础教程
进阶内容
Rust 官网
编程指南
首页
基础教程
进阶内容
Rust 官网
编程指南
  • 基础教程

    • 📚 基础教程
    • 第1章 - 认识 Rust
    • 第2章 - 安装 Rust
    • 第3章 - Hello World
    • 第4章 - 变量与可变性
    • 第5章 - 数据类型
    • /guide/06-functions.html
    • 第7章 - 控制流
    • 第8章 - 所有权
    • 第9章 - 引用与借用
    • 第10章 - 结构体
    • 第11章 - 枚举
    • 第12章 - 模式匹配
    • 第13章 - 错误处理
    • 第14章 - 集合类型
    • 第15章 - 模块系统
  • 实战项目

    • 第16章 - 实战项目:猜数字游戏
    • 第17章 - 实战项目:待办事项 CLI
    • 第18章 - 实战项目:简单 HTTP 服务器

第1章 - 认识 Rust

嗨,朋友!我是长安。

欢迎来到 Rust 的世界!在开始写代码之前,我们先来聊聊 Rust 到底是什么,为什么值得你花时间学习它。

🤔 Rust 是什么?

Rust 是一门系统编程语言,由 Mozilla(就是那个做 Firefox 浏览器的公司)在 2010 年发布。

用大白话说,Rust 就是一门让你写出又快又安全的程序的编程语言。

📖 系统编程语言是什么?

你可能听说过 Python、JavaScript 这些语言,它们通常用来写网站、数据分析等应用。而系统编程语言则更"底层"一些,它们用来写:

  • 操作系统(比如 Linux 的某些部分现在就用 Rust 重写了)
  • 浏览器引擎(Firefox 的部分组件用 Rust 写的)
  • 游戏引擎
  • 数据库
  • 嵌入式系统(智能手表、物联网设备等)

简单说,就是那些对性能要求极高、需要直接操作内存的程序。

🌟 为什么选择 Rust?

1. 内存安全 🛡️

在 C/C++ 中,程序员需要手动管理内存,一不小心就会出现:

  • 空指针错误(Null Pointer)
  • 内存泄漏(Memory Leak)
  • 悬垂指针(Dangling Pointer)
  • 数据竞争(Data Race)

这些 bug 非常难以发现和调试,甚至可能导致系统崩溃或安全漏洞。

Rust 的解决方案:通过所有权系统(Ownership),在编译时就检查出这些错误!

也就是说,如果你的程序能通过编译,基本上就不会出现内存安全问题了。这是不是很酷?

长安说

想象一下,你在开车。C/C++ 就像手动挡,油门、刹车、离合都要你自己控制,一不小心就熄火。而 Rust 就像带安全辅助的手动挡,如果你操作不当,车子会提前提醒你,甚至不让你启动,避免事故发生。

2. 超高性能 🚀

Rust 的运行速度可以和 C/C++ 媲美,这意味着:

  • 没有垃圾回收(Garbage Collection),不会有停顿
  • 零成本抽象(Zero-Cost Abstractions),高级特性不会降低性能
  • 直接编译成机器码,运行飞快
语言性能内存安全
C/C++⭐⭐⭐⭐⭐❌
Java/C#⭐⭐⭐✅
Python/JS⭐⭐✅
Rust⭐⭐⭐⭐⭐✅

3. 并发安全 🔒

现代程序经常需要同时做很多事情(多线程)。但在其他语言中,多线程编程很容易出现数据竞争,导致难以复现的 bug。

Rust 的类型系统可以在编译时防止数据竞争,让你放心写并发程序。

4. 现代化工具 🛠️

Rust 自带的工具链非常强大:

  • Cargo:包管理器 + 构建工具,一个命令搞定依赖管理、编译、测试
  • rustfmt:代码格式化工具,保持代码风格一致
  • clippy:代码检查工具,给你提供最佳实践建议
  • rust-analyzer:智能代码补全,让编辑器变得超级聪明

5. 友好的错误提示 💡

Rust 编译器的错误提示被誉为"最友好的编译器",它不仅告诉你哪里错了,还会:

  • 告诉你为什么错了
  • 给出修改建议
  • 甚至直接给你示例代码

🎯 Rust 可以做什么?

Rust 的应用场景非常广泛:

  1. Web 后端:使用 Actix-web、Rocket 等框架
  2. WebAssembly:在浏览器中运行高性能代码
  3. 命令行工具:ripgrep、bat 等工具都是用 Rust 写的
  4. 嵌入式开发:物联网、单片机
  5. 区块链:很多区块链项目用 Rust 开发
  6. 游戏开发:使用 Bevy 等游戏引擎
  7. 操作系统:Linux 内核已经开始接受 Rust 代码

🏆 谁在使用 Rust?

很多大公司都在用 Rust:

  • 微软:在 Windows 中使用 Rust
  • 亚马逊:AWS 的很多服务用 Rust 写
  • Google:Android 系统开始支持 Rust
  • Meta(Facebook):用 Rust 重写关键系统
  • Discord:用 Rust 重写性能关键部分,性能提升巨大
  • Cloudflare:用 Rust 构建网络基础设施

📊 Rust 的学习曲线

老实说,Rust 的学习曲线比 Python、JavaScript 陡一些。主要是因为:

  1. 所有权系统:这是全新的概念,需要时间理解
  2. 严格的编译器:刚开始可能会被编译错误"折磨"
  3. 类型系统:比较复杂,但很强大

但是! 一旦你理解了核心概念,你会发现:

  • 写出来的代码质量更高
  • Bug 少了很多
  • 对内存管理有了更深的理解
  • 这些知识对学习其他语言也有帮助

长安的忠告

不要被学习曲线吓到!我刚开始学 Rust 的时候,也是被编译器各种报错搞得头疼。但坚持下来后,我发现编译器其实是在帮我写出更好的代码。就像一个严格但负责的老师,虽然严格,但真的是为你好。

💡 小结

在这一章,我们了解了:

  • Rust 是一门系统编程语言,追求性能和安全
  • Rust 的三大特点:内存安全、超高性能、并发安全
  • Rust 有强大的工具链和友好的错误提示
  • Rust 可以用来开发各种类型的应用
  • Rust 的学习曲线有点陡,但非常值得

🚀 下一步

现在你对 Rust 有了初步了解,是不是已经迫不及待想试试了?

下一章,我会手把手教你如何安装 Rust 开发环境!

第2章 - 安装 Rust →

💪 练习题

在开始下一章之前,思考这几个问题:

  1. Rust 和其他编程语言(如 Python、C++)最大的区别是什么?
  2. 什么样的项目适合用 Rust 来开发?
  3. Rust 的所有权系统是用来解决什么问题的?
答案提示
  1. Rust 最大的区别是所有权系统,它在编译时就保证了内存安全,而不需要垃圾回收
  2. 适合 Rust 的项目:对性能要求高、需要内存安全、涉及系统编程或并发编程的项目
  3. 所有权系统是用来解决内存安全问题,防止空指针、内存泄漏、数据竞争等常见 bug
最近更新: 2025/12/26 18:01
Contributors: 王长安
Prev
📚 基础教程
Next
第2章 - 安装 Rust