langShift

Rust 初识与环境搭建

从 JavaScript 开发者视角认识 Rust,了解 Rust 能做什么,以及如何搭建开发环境

Rust 初识与环境搭建

🎯 学习目标

通过本模块,你将:

  • 了解 Rust 能做什么,以及它与 JavaScript 的交集
  • 掌握从 JavaScript 到 Rust 的语言迁移学习法
  • 学会安装和配置 Rust 开发环境
  • 创建并运行你的第一个 Rust 项目

🤔 为什么学习 Rust?

作为 JavaScript 开发者,你可能会问:

  • 我已经会 JavaScript 了,为什么还要学 Rust?
  • Rust 能帮我解决什么问题?
  • 学习 Rust 对我的职业发展有什么帮助?

Rust 能为你带来什么?

  1. 性能提升 - Rust 程序运行速度接近 C/C++,比 JavaScript 快 10-100 倍
  2. 内存安全 - 编译时检查,避免内存泄漏和空指针错误
  3. 并发安全 - 编译时保证多线程安全,避免竞态条件
  4. 系统编程 - 可以编写操作系统、驱动程序、嵌入式程序
  5. WebAssembly - 在浏览器中运行高性能代码
  6. 职业发展 - 掌握系统级编程语言,拓宽技术栈

JavaScript 与 Rust 的互补关系

场景JavaScript 优势Rust 优势
Web 前端✅ 生态系统成熟✅ WebAssembly 高性能
Web 后端✅ 开发效率高✅ 性能和安全
桌面应用✅ 跨平台简单✅ 原生性能
移动应用✅ 快速原型✅ 原生性能
系统编程❌ 不适合✅ 主要优势
游戏开发✅ 有限✅ 高性能

🧠 从 JS 到 Rust 的学习策略

学习心态调整

学习 Rust 时,需要调整一些思维习惯:

JavaScript 思维:

  • 关注"做什么" - 直接写业务逻辑
  • 运行时检查 - 错误在运行时发现
  • 自动内存管理 - 不用关心内存分配

Rust 思维:

  • 关注"如何做" - 需要明确指定类型和内存管理
  • 编译时检查 - 错误在编译时发现
  • 显式内存管理 - 通过所有权系统管理内存

学习策略

  1. 对比学习 - 每个 Rust 概念都对应 JavaScript 概念
  2. 渐进式 - 从简单语法到复杂概念
  3. 实践驱动 - 每个概念都要动手验证
  4. 项目导向 - 通过实际项目巩固知识

🛠️ 安装 Rust 开发环境

1. 安装 Rust

Rust 使用 rustup 作为版本管理工具,类似于 Node.js 的 nvm

# 安装 Rust(类似 nvm install node)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# 或者使用 Homebrew(macOS)
brew install rust
# 验证安装
rustc --version
cargo --version

2. 配置 IDE

推荐使用 VS Code,安装以下插件:

  • rust-analyzer - Rust 官方推荐的代码分析工具
  • Even Better TOML - 配置文件语法高亮
  • crates - 依赖管理
  • Error Lens - 错误提示增强
  • CodeLLDB - 调试支持

3. 配置 Cargo

Cargo 是 Rust 的包管理器和构建工具,类似于 npm:

# 查看 Cargo 配置
cargo --version
# 配置镜像源(国内用户)
# 在 ~/.cargo/config.toml 中添加:
[source.crates-io]
replace-with = 'ustc'
[source.ustc]
registry = "https://mirrors.ustc.edu.cn/crates.io-index"

🚀 Hello, Rust:第一个项目

创建新项目

# 创建新项目(类似 npm init)
cargo new hello-rust
cd hello-rust
# 项目结构
hello-rust/
├── Cargo.toml # 项目配置(类似 package.json)
└── src/
└── main.rs # 入口文件(类似 index.js)

项目配置文件对比

正在加载...

第一个 Rust 程序

正在加载...

运行项目

# 运行项目(类似 npm start)
cargo run
# 构建项目(类似 npm run build)
cargo build
# 构建发布版本(优化后的二进制文件)
cargo build --release
# 运行测试(类似 npm test)
cargo test
# 检查代码(类似 npm run lint)
cargo clippy
# 格式化代码(类似 npm run format)
cargo fmt

🔍 理解 Rust 项目结构

标准项目结构

my-rust-project/
├── Cargo.toml # 项目配置和依赖
├── Cargo.lock # 依赖锁定文件(类似 package-lock.json)
├── src/
│ ├── main.rs # 二进制程序入口
│ ├── lib.rs # 库入口(可选)
│ └── bin/ # 多个二进制文件
│ └── tool.rs
├── tests/ # 集成测试
│ └── integration_test.rs
├── examples/ # 示例代码
│ └── basic.rs
├── benches/ # 性能基准测试
│ └── benchmark.rs
└── target/ # 构建输出目录
├── debug/ # 调试版本
└── release/ # 发布版本

与 JavaScript 项目结构对比

正在加载...

🎯 实践练习

练习 1:创建你的第一个 Rust 项目

  1. 创建一个名为 my-first-rust 的项目
  2. 修改 main.rs,输出你的名字和编程语言偏好
  3. 运行项目并观察输出
正在加载...

练习 2:理解变量声明

正在加载...

📚 下一步学习

现在你已经完成了 Rust 的初识和环境搭建!接下来你将学习:

  1. 核心语法与结构对比 - 深入理解 Rust 的语法特性
  2. 所有权与内存模型 - Rust 的核心概念
  3. 模块系统与构建工具 - 项目组织和依赖管理
  4. 并发与异步模型 - 现代编程的核心技能

学习建议

  1. 多动手实践 - 每个概念都要在编辑器中验证
  2. 对比思维 - 始终从 JavaScript 视角理解 Rust
  3. 关注所有权 - 这是 Rust 的核心概念
  4. 阅读错误信息 - Rust 的编译器错误信息非常详细

🔗 相关资源


恭喜你迈出了学习 Rust 的第一步! 🦀

在下一模块中,我们将深入探讨 Rust 的核心语法特性,并学习如何将它们与 JavaScript 的概念进行对比。