A1: 环境搭建与工具链

20 分钟6 个代码示例1 个练习

学习目标

  • 1安装并配置 Rust 工具链(rustup、cargo)
  • 2了解 Rust 核心工具:fmt、clippy、rust-analyzer
  • 3配置 WASM 编译目标
  • 4创建并运行第一个 Rust 项目

为什么选择 Rust?

作为 TypeScript 开发者,你可能会问:为什么要学 Rust?

1. 性能:Rust 编译为原生代码,性能接近 C/C++,远超 Node.js 2. 内存安全:无需 GC,通过所有权系统在编译期保证内存安全 3. WebAssembly:Rust 是 WASM 的最佳语言之一,可以在浏览器中运行 4. 系统编程:可以写操作系统、数据库、游戏引擎等底层软件

Rust 工具链概览

工具用途类比 TS --------------------- rustup版本管理nvm / fnm cargo包管理 + 构建npm / pnpm rustfmt代码格式化prettier clippyLint 检查eslint rust-analyzerLSPtypescript-language-server

安装 Rust

Rust 使用 rustup 作为官方安装器和版本管理工具。一行命令即可安装:

代码示例

安装 Rust(macOS / Linux)bash
1# 安装 rustup(Rust 版本管理器)
2curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
3
4# 重新加载环境变量
5source $HOME/.cargo/env
6
7# 验证安装
8rustc --version
9cargo --version
如果你使用 Windows,请访问 https://rustup.rs 下载安装程序。
配置 WASM 编译目标bash
1# 添加 WebAssembly 编译目标
2rustup target add wasm32-unknown-unknown
3
4# 安装 wasm-pack(可选,用于更方便的 WASM 开发)
5cargo install wasm-pack
创建第一个 Rust 项目bash
1# 创建新项目
2cargo new hello_rust
3cd hello_rust
4
5# 项目结构:
6# hello_rust/
7# ├── Cargo.toml # 类似 package.json
8# └── src/
9# └── main.rs # 入口文件
10
11# 运行项目
12cargo run
Cargo.toml(类似 package.json)rust
1[package]
2name = "hello_rust"
3version = "0.1.0"
4edition = "2021" # Rust 版本,类似 ES2021
5
6[dependencies]
7# 依赖项放这里,类似 dependencies
8# serde = "1.0" # 序列化库
9# tokio = { version = "1", features = ["full"] } # 异步运行时
Hello World(Rust vs TypeScript)rust
1// Rust
2fn main() {
3 let message = "Hello, Rust!";
4 println!("{}", message);
5}
6
7// TypeScript 对比
8// function main() {
9// const message: string = "Hello, TypeScript!";
10// console.log(message);
11// }
注意:Rust 使用 `let` 声明变量(默认不可变),`println!` 是宏(注意感叹号)。
配置开发工具bash
1# 格式化代码(类似 prettier)
2cargo fmt
3
4# Lint 检查(类似 eslint)
5cargo clippy
6
7# 检查代码但不编译(更快)
8cargo check
9
10# 运行测试
11cargo test
12
13# 构建 release 版本(优化后)
14cargo build --release

实战练习

练习 1:创建并运行项目

1. 使用 `cargo new my_first_rust` 创建新项目 2. 修改 `src/main.rs`,打印你的名字 3. 使用 `cargo run` 运行项目 4. 使用 `cargo fmt` 格式化代码
💡 提示:println! 宏支持格式化:println!("Hello, {}!", name)
查看参考答案
1// src/main.rs
2fn main() {
3 let name = "你的名字";
4 println!("Hello, {}!", name);
5 println!("Welcome to Rust!");
6}