1. Rust初探:从零开始认识这门语言

说实话,我第一次接触Rust是在2018年。那时候我在做一个嵌入式项目,C++的内存管理搞得我焦头烂额。同事推荐说:「试试Rust吧,它能在编译期就把内存问题揪出来。」我当时半信半疑——真有这么神?

结果一试,就再也没回头。

Rust的起源:一个「被迫」诞生的语言

Rust的故事要从2006年说起。Mozilla的一位工程师Graydon Hoare,在自家电梯里等得无聊,突然冒出一个想法:能不能造一门语言,既有C++的性能,又能彻底解决内存安全问题?

这个想法后来得到了Mozilla的正式支持。2010年,Rust首次公开亮相。2015年,1.0稳定版发布——这才是真正意义上的「出生」。你想想看,从2006到2015,整整9年打磨,就为了一个目标:让系统编程不再那么「危险」

核心设计哲学:

  • 零成本抽象——你不需要为用不上的特性付费
  • 内存安全——没有空指针、悬垂指针、数据竞争
  • 并发无忧——编译期就能发现线程安全问题
  • 实用主义——能解决实际问题,不搞花架子

Rust的核心优势:凭什么选它?

我经常被问到:「Rust到底比C++好在哪里?」嗯,这个问题其实挺大的。我挑三个最实在的点来说:

优势 具体表现 我的亲身感受
性能 编译为原生机器码,无GC,内存布局可控 我做过一个网络协议解析库,Rust版本比C++版本快12%
可靠性 所有权系统+借用检查器,编译期消灭内存错误 曾经有个C++项目上线后崩溃,查了三天发现是野指针。Rust根本不允许这种事发生
生产力 cargo包管理、完善的文档、友好的编译器提示 Rust的编译器错误信息是我见过最友好的——它甚至会告诉你「你是不是想写成这样?」

一个小秘密:Rust的编译器错误信息,其实是由一群专门研究「如何让错误信息更易懂」的团队设计的。你以后遇到编译错误,别急着烦躁——仔细看提示,往往能学到新东西。

安装Rust工具链:三步搞定

安装Rust其实很简单。我个人习惯用rustup,它是Rust的官方安装器和版本管理工具。

第一步:安装rustup

打开终端,输入下面这行命令:

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

Windows用户可以去官网下载rustup-init.exe。安装过程中选默认选项就行。

第二步:验证安装

安装完成后,检查三个核心工具:

# 查看Rust编译器版本
rustc --version

# 查看包管理工具版本
cargo --version

# 查看rustup版本
rustup --version

如果都能看到版本号,恭喜你——环境搭好了。

我曾经踩过的坑:在Linux上安装时,如果提示缺少链接器,记得先装gcc或llvm。命令是:sudo apt install build-essential。别问我怎么知道的——当年我卡在这步半小时。

第三步:了解三个核心工具

工具 作用 常用命令
rustc Rust编译器,把.rs文件编译成可执行文件 rustc main.rs
cargo 包管理+构建工具,类似Node.js的npm cargo newcargo buildcargo run
rustup 管理Rust版本和工具链 rustup updaterustup default stable

第一个Hello World:两种方式

好了,环境搭好了,我们来写第一个程序。我建议你两种方式都试试——先感受一下rustc的「原始感」,再用cargo体验「现代感」。

方式一:直接用rustc

创建一个文件main.rs

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

然后编译运行:

rustc main.rs
./main   # Windows上是 main.exe

看到终端输出Hello, world!了吗?嗯,就这么简单。

方式二:用cargo(推荐)

这才是日常开发的方式:

# 创建新项目
cargo new hello_world
cd hello_world

# 编译并运行
cargo run

cargo会自动生成项目结构:

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

打开src/main.rs,你会发现cargo已经帮你写好了Hello World代码。直接cargo run就能看到输出。

我的建议:以后都用cargo。它帮你管理依赖、运行测试、生成文档——说白了,cargo就是Rust生态的「瑞士军刀」。

知识体系一览

为了让你对本章内容有个整体印象,我画了张图:

Rust 初探 起源与设计哲学 Mozilla · 零成本抽象 核心优势 性能 · 可靠性 · 生产力 工具链安装 rustup · rustc · cargo Hello World rustc直接编译 · cargo项目 类型系统 + 内存安全 = 可靠系统编程

这张图把本章的核心内容串起来了。你会发现,Rust的一切设计——从起源到工具链——都围绕着「类型系统」和「内存安全」这两个核心。后面的章节,我们会逐一深入。

写在最后

好了,第一章就到这里。你学会了Rust的起源、核心优势,装好了工具链,还跑了第一个程序。说实话,能走到这一步已经超过了很多人——很多人连环境都懒得装。

下一章,我们会正式进入Rust的类型系统。你会看到Rust如何用一套优雅的规则,把C++里那些头疼的问题挡在编译期。嗯,准备好你的编辑器吧。


公众号:蓝海资料掘金营,微信deep3321