【Rust入门】第一章:环境搭建与 Hello World

27 阅读5分钟

Rust 是一门极具挑战性但也极具回报的语言。它连续多年被 Stack Overflow 评为“最受喜爱的编程语言”,因为它在提供内存安全的同时,不损失性能


📚 Rust 深度学习路线图 (总纲)

  1. 第一章:环境搭建与 Hello World(起步)
  2. 第二章:通用编程概念(变量、数据类型、函数、控制流)
  3. 第三章:所有权(Ownership)与借用(Rust 的核心灵魂)
  4. 第四章:结构体、枚举与模式匹配
  5. 第五章:包、Crate 与模块系统
  6. 第六章:常见集合(Vector, String, HashMap)
  7. 第七章:错误处理(Panic vs Result)
  8. 第八章:泛型、Trait 与生命周期(进阶难点)
  9. 第九章:自动化测试与闭包、迭代器
  10. 第十章:智能指针与并发编程

🚀 第一章:环境搭建与 Hello World

在这一章,我们的目标是让你的电脑可以运行 Rust 代码,并理解 Rust 项目的基本结构。

1.1 安装 Rust

Rust 官方提供了一个非常棒的安装工具叫 rustup。它可以管理 Rust 的版本和相关工具链。

  • macOS / Linux 用户: 打开终端(Terminal),输入以下命令:

    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    

    安装完成后,关闭并重新打开终端,输入 rustc --version,如果看到类似 rustc 1.7x.0 ... 的输出,说明安装成功。

  • Windows 用户

    1. 访问 rustup.rs/ 下载 rustup-init.exe
    2. 重要:Rust 需要 C++ 构建工具。如果你安装过 Visual Studio (带 C++ 环境),可以直接安装。如果没有,安装程序会提示你安装 "Visual Studio Build Tools",请务必勾选 C++ 相关组件。

1.2 配置开发环境 (IDE)

工欲善其事,必先利其器。Rust 不推荐用记事本写。

  1. 下载 VS Code (Visual Studio Code)。
  2. 安装插件:在 VS Code 扩展商店搜索并安装 rust-analyzer
    • 注意:不要安装旧版的 "Rust" 插件,rust-analyzer 是目前官方推荐的,智能提示非常强大。
  3. (可选) 安装 Even Better TOML 插件,用于高亮显示配置文件。

1.3 认识 Cargo:Rust 的大管家

在其他语言(如 C/C++)中,你可能需要自己调用编译器(如 gcc)。但在 Rust 中,我们几乎总是使用 Cargo。 Cargo 是 Rust 的构建系统包管理器。它可以帮你:

  • 创建项目
  • 下载依赖库
  • 编译代码
  • 运行代码

1.4 创建你的第一个项目

打开终端,进入你想存放代码的目录,运行:

cargo new hello_rust

这会创建一个名为 hello_rust 的文件夹。让我们看看里面的结构:

hello_rust/
├── Cargo.toml    <-- 项目的配置文件(类似 Node.js 的 package.json)
└── src/
    └── main.rs   <-- 源代码文件

详细解读 Cargo.toml 打开这个文件,你会看到:

[package]
name = "hello_rust"
version = "0.1.0"
edition = "2021"

[dependencies]
# 这里以后用来添加第三方库

详细解读 src/main.rs

fn main() {
    println!("Hello, world!");
}
  • fn: 这是一个关键字,用于声明函数。
  • main: 这是程序的入口点。程序从这里开始执行。
  • println!: 注意结尾的 !
    • 在 Rust 中,如果调用的是函数,是 println()
    • 如果是 !,说明这是一个 宏 (Macro)。目前你只需要记住:宏可以接受可变数量的参数,通常比普通函数更强大。
  • ;: 语句以分号结尾。

1.5 运行项目

在终端中进入项目目录:

cd hello_rust

这里有三个常用的 Cargo 命令,请务必背下来:

  1. cargo check

    • 作用:快速检查代码是否有语法错误,但不进行编译生成可执行文件
    • 场景:写代码时频繁使用,因为它速度最快。
    • 练习:试着把 println! 拼错成 printl!,然后运行 cargo check,看看报错信息。Rust 的报错信息非常友好且详细。
  2. cargo build

    • 作用:编译代码,生成可执行文件。
    • 位置:生成的文件在 target/debug/hello_rust
    • 场景:当你需要生成程序时使用。
  3. cargo run

    • 作用:编译 立即运行。
    • 场景:开发过程中最常用的命令。

动手试试: 在终端输入:

cargo run

你应该会看到:

   Compiling hello_rust v0.1.0 (...)
    Finished dev [unoptimized + debuginfo] target(s) in 0.xxs
     Running `target/debug/hello_rust`
Hello, world!

1.6 稍微加点料:引入依赖

为了感受 Rust 强大的生态,我们要修改代码,让它打印出漂亮的彩色文字。我们需要引入一个第三方库(在 Rust 中叫 Crate)。

第一步:添加依赖 打开 Cargo.toml,在 [dependencies] 下面添加 colored 库:

[dependencies]
colored = "2.0"

第二步:修改代码 打开 src/main.rs,修改为以下内容:

// 引入 colored crate 中的所有内容
use colored::*;

fn main() {
    // 这里的 .red() 和 .blue() 是 colored 库提供的方法
    println!("{} {}", "Hello".red(), "Rust!".blue().bold());
    
    let name = "World";
    println!("Hello, {}!", name.green());
}

第三步:运行 再次输入 cargo run。 你会发现 Cargo 自动去下载了 colored 库及其依赖,编译完成后,你在终端会看到红色的 "Hello" 和蓝色的粗体 "Rust!"。


📝 第一章总结与作业

总结:

  1. Rust 使用 rustup 安装和管理。
  2. cargo 是构建和包管理工具(new, check, build, run)。
  3. main 函数是入口。
  4. println! 是一个宏。
  5. Cargo.toml 管理依赖。

作业(请务必完成):

  1. 使用 cargo new 创建一个新项目,名字叫 my_first_app
  2. 修改 main.rs,使其输出三行文字,分别介绍你的名字、你为什么要学 Rust。
  3. 尝试运行 cargo run 查看结果。
  4. 尝试在代码中故意漏掉一个分号 ;,运行 cargo check,阅读编译器的报错信息,并尝试理解它。