Rust入门:为什么现在就应该开始
Rust是一种系统编程语言,它将C++的性能与编译器级别保证的内存安全性相结合。到2025年,Rust仍在积极发展:它被用于Linux内核、Firefox浏览器、命令行工具,甚至Web开发(通过WebAssembly)。如果你还没有尝试过Rust,现在正是时候——社区变得更加友好,工具更加便捷,文档也更加完善。
在本文中,我们将走完从安装到编写有意义程序的完整过程。你将学习如何配置环境、编写第一段代码、理解核心概念(所有权、借用、生命周期),并立即在实践中应用它们。到文章结束时,你将拥有一个可运行的项目,并知道下一步该往哪里走。
1. 安装Rust并配置环境
1.1. 通过rustup安装
安装Rust最简单的方法是使用官方工具rustup。它管理编译器版本,并允许轻松更新。打开终端并执行以下命令:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh安装后,重新加载终端或执行source $HOME/.cargo/env。检查一切是否正常:
rustc --versioncargo --version你应该会看到类似rustc 1.78.0 (2024-05-02)的内容——版本可能不同,但关键是命令能无错误地执行。
1.2. 什么是Cargo?
Cargo是Rust的包管理器和构建系统。它会自动下载依赖、编译代码并管理项目。你无需手动调用rustc——Cargo会为你完成所有工作。
1.3. 编辑器和IDE
为了舒适地工作,我建议使用:
- VS Code配合
rust-analyzer扩展——自动补全、错误检查、重构。 - IntelliJ IDEA配合Rust插件——功能强大,但需要更多资源。
- Vim/Neovim配合coc-rust-analyzer——适合终端开发者。
安装扩展后,打开项目文件夹——rust-analyzer会自动加载设置。
2. 编写第一个Rust程序
2.1. 通过Cargo创建项目
让我们创建一个新项目:
cargo new hello_rustcd hello_rustcargo new命令会创建一个包含Cargo.toml文件(项目清单)和src子文件夹(内含main.rs文件)的文件夹。打开src/main.rs——里面已经有一个模板:
fn main() { println!("Hello, world!");}运行程序:
cargo run你将在控制台中看到Hello, world!。恭喜——你刚刚编译并执行了你的第一个Rust程序!
2.2. 代码结构解析
fn main()——程序的入口点。所有Rust程序都从这个函数开始。println!——用于向控制台输出文本的宏。感叹号将宏与普通函数区分开来。- 字符串以分号结尾——这是必须的(除了返回值的表达式)。
3. Rust的核心概念:变量、类型和内存管理
3.1. 变量与不可变性
在Rust中,变量默认是不可变的。这不是bug,而是一个特性——这样编译器可以保证数据不会意外改变。要使变量可变,请使用关键字mut:
fn main() { let x = 5; // 不可变 // x = 6; // 错误:不能对不可变变量赋值两次