Rust 入门教程:从安装到第一个 Hello World

Rust 入门教程:从安装到第一个 Hello World

写给完全初学者的 Rust 指南


为什么选择 Rust?

在开始之前,先简单说说 Rust 为什么值得学习:

  • 内存安全:无需垃圾回收,编译器在编译期就能防止内存错误
  • 高性能:速度媲美 C/C++
  • 并发安全:编译器会帮你检查数据竞争
  • 丰富的生态:Cargo 包管理工具让开发更高效
  • 活跃的社区:连续多年被评为“最受喜爱的编程语言”

无论你是系统编程新手还是资深开发者,Rust 都能给你带来全新的编程体验。


一、安装 Rust 环境

1.1 安装 Rustup(推荐方式)

Rustup 是 Rust 的官方安装器和版本管理工具。打开终端,执行以下命令:

macOS / Linux:

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

Windows:
下载并运行 rustup-init.exe

安装过程中会询问安装选项,直接选择默认的 1) Proceed with installation (default) 即可。

1.2 验证安装

安装完成后,重新打开终端,验证是否安装成功:

rustc --version
# 输出示例:rustc 1.78.0 (9b00956e5 2024-04-29)

cargo --version
# 输出示例:cargo 1.78.0 (54d8815d0 2024-03-26)

如果能看到版本号,说明安装成功!

1.3 更新与环境配置

更新 Rust:

rustup update

卸载 Rust:

rustup self uninstall

设置默认版本(如需):

rustup default stable

二、开发工具推荐

好的工具能大幅提升开发效率,以下是 Rust 开发的主流选择:

2.1 VS Code(强烈推荐)

VS Code 是目前 Rust 开发最流行的编辑器,配合插件体验极佳。

必装插件:

  1. rust-analyzer - Rust 官方语言服务器

    • 代码补全、跳转定义、重命名
    • 实时错误提示和类型推断
    • 内联文档显示
  2. Even Better TOML - 对 Cargo.toml 配置文件提供语法高亮和校验

  3. CodeLLDBNative Debug - 调试支持

可选插件:

  • Crates - 显示依赖的最新版本
  • Rust Test Explorer - 图形化运行测试

2.2 其他 IDE 选择

  • IntelliJ Rust(IntelliJ IDEA / CLion 插件)- 功能强大,适合大型项目
  • Rover(Vim/Neovim)- 轻量级,终端爱好者首选
  • Helix - 内置 LSP 支持,开箱即用

2.3 在线 Playground

不想安装环境?试试官方在线编辑器:

可以直接在浏览器中编写和运行 Rust 代码,非常适合快速试验。


三、创建第一个 Rust 项目

Rust 使用 Cargo 作为构建系统和包管理器,类似于 Node.js 的 npm 或 Python 的 pip。

3.1 使用 Cargo 创建项目

在终端中执行:

cargo new hello_world
cd hello_world

这个命令会生成一个名为 hello_world 的目录,结构如下:

hello_world/
├── Cargo.toml          # 项目配置文件
└── src/
    └── main.rs         # 源代码入口文件

3.2 项目结构解析

Cargo.toml(类似于 package.json):

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

[dependencies]
  • [package]:项目元信息
  • [dependencies]:在这里添加第三方库

src/main.rs(Rust 源代码):

fn main() {
    println!("Hello, world!");
}
  • fn main():程序入口函数
  • println!:宏(注意有 !),用于打印到控制台

3.3 运行项目

有两种方式运行:

方式一:直接运行(推荐新手)

cargo run

方式二:先编译再运行

cargo build          # 编译生成可执行文件
./target/debug/hello_world   # 运行(Windows 下为 .\target\debug\hello_world.exe)

输出结果:

Hello, world!

3.4 常用 Cargo 命令

命令说明
cargo new <项目名>创建新项目
cargo init在当前目录初始化项目
cargo build编译项目(调试模式)
cargo build --release编译项目(发布模式,优化更高)
cargo run编译并运行
cargo check快速检查代码是否通过编译(不生成可执行文件)
cargo test运行测试
cargo doc --open生成并打开项目文档

💡 小贴士:开发时多使用 cargo check,它比 cargo build 更快,能迅速发现语法错误。


四、深入理解 Hello World

让我们仔细看看这段代码:

fn main() {
    println!("Hello, world!");
}

4.1 函数定义

  • fn 关键字声明函数
  • main 是特殊的函数名,它是每个可执行程序的入口点
  • 函数体用花括号 {} 包裹

4.2 打印宏

  • println! 不是普通函数,而是(macro),所以后面有 !
  • 宏在编译时会展开成更多代码,提供更灵活的功能
  • println! 会自动在末尾添加换行符
  • 如果想不换行,可以用 print!

4.3 字符串字面量

  • "Hello, world!" 是字符串字面量,用双引号包裹
  • Rust 的字符串是 UTF-8 编码,支持中文等非 ASCII 字符

试试修改代码:

fn main() {
    println!("你好,世界!");
    println!("Hello, {}", "Rust");  // 使用占位符
}

运行结果:

你好,世界!
Hello, Rust

五、常见问题与解决方法

5.1 安装失败或速度慢

问题:从官方源下载太慢。

解决:使用国内镜像(以 ustc 源为例):

macOS/Linux:

export RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static
export RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

或配置 cargo 镜像(创建或修改 ~/.cargo/config.toml):

[source.crates-io]
replace-with = 'ustc'

[source.ustc]
registry = "sparse+https://mirrors.ustc.edu.cn/crates.io-index/"

5.2 找不到 rustccargo 命令

安装后需要重新打开终端,或者手动将 Rust 添加到 PATH:

source ~/.cargo/env

5.3 VS Code 插件不工作

  • 确保安装了 rust-analyzer 插件
  • 确认项目根目录有 Cargo.toml
  • 尝试重启 VS Code 或执行 rust-analyzer: Restart server 命令

六、下一步学什么?

恭喜你完成了第一个 Rust 程序!接下来可以继续学习:

  1. 基础语法:变量、数据类型、函数、控制流
  2. 所有权系统:Rust 最核心的概念
  3. 结构体和枚举:自定义数据类型
  4. 错误处理ResultOption
  5. 模块系统:代码组织与管理
  6. 实战项目:用 Rust 写一个命令行工具或 Web 服务

推荐学习资源


结语

Rust 的学习曲线可能会比一些语言陡峭,但一旦跨过入门阶段,你会发现它带来的安全性和表达力是无可替代的。希望这篇教程能帮你迈出坚实的第一步!

有任何问题,欢迎在评论区留言交流。Happy Coding! 🦀


本文首发于个人博客,转载请保留原文链接。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wy313622821

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值