1、Rust入门:Rust发展史、Rust核心优势、Rust开发环境搭建(rustup、cargo)、第一个Rust程序

大家好,我是你们的老朋友。今天咱们正式开启 Rust 的学习之旅。说实话,每次带新人入门 Rust,我都能回想起自己第一次接触这门语言时的感受——既兴奋又有点懵。别担心,这一章我会把最基础的东西讲透,让你稳稳地迈出第一步。

1.1 Rust 发展史:从 Mozilla 到全明星

Rust 的故事要从 2006 年说起。当时 Mozilla 的一位工程师 Graydon Hoare 觉得现有的系统编程语言都不够安全,于是搞了个个人项目。嗯,你没听错,最初只是个人兴趣。

到了 2009 年,Mozilla 正式赞助了这个项目。2015 年,Rust 1.0 稳定版发布,这算是一个里程碑。我记得那时候社区里大家都在庆祝,因为等了太久了。

真正让 Rust 出圈的是 2021 年——Linux 内核宣布支持 Rust。你想想看,连 Linux 这种级别的项目都开始拥抱 Rust,说明这门语言确实有两把刷子。

关键时间节点:

  • 2006 年:Graydon Hoare 开始个人项目
  • 2009 年:Mozilla 正式赞助
  • 2015 年:Rust 1.0 稳定版发布
  • 2021 年:Linux 内核支持 Rust
  • 2023 年:Rust 进入 TIOBE 前 20 名

1.2 Rust 核心优势:为什么选它?

很多新手会问:我为什么要学 Rust?C++ 不香吗?Python 不香吗?

说白了,Rust 解决了系统编程里最头疼的问题——内存安全。我在项目中遇到过好几次 C++ 的内存泄漏,排查起来简直要命。Rust 通过所有权系统,在编译阶段就把这些问题扼杀了。

Rust 的三大核心优势:

  • 内存安全:没有空指针、没有野指针、没有数据竞争。编译器帮你把关。
  • 零成本抽象:高级语言的表达力,底层语言的性能。你写的高层代码,编译后和手写汇编一样快。
  • 无畏并发:Rust 的所有权模型让并发编程变得安全。我曾经在项目中用 Rust 写多线程,一次死锁都没遇到。

我的个人建议:如果你做系统编程、嵌入式、WebAssembly 或者对性能有极致要求的项目,Rust 绝对是首选。别被它的学习曲线吓到,熬过前两周就好了。

1.3 开发环境搭建:rustup 和 cargo

好,理论说完了,咱们来点实际的。搭建环境其实很简单,就两步。

1.3.1 安装 rustup

rustup 是 Rust 的版本管理工具。我个人习惯用这个,因为它可以随时切换 Rust 版本。

Linux/macOS:

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

Windows: 去官网下载 rustup-init.exe 就行。

安装完成后,验证一下:

rustc --version
# 输出类似:rustc 1.75.0 (e0827787a 2024-01-25)

注意:我曾经遇到过 Windows 用户安装后找不到 rustc 命令。这是因为环境变量没刷新。重启终端或者手动刷新一下 PATH 就好了。

1.3.2 认识 cargo

cargo 是 Rust 的包管理器和构建工具。说白了,它就像 Python 的 pip + setuptools 合体。你想想看,一个工具搞定所有事情,多省心。

常用 cargo 命令:

命令 作用
cargo new 创建新项目
cargo build 编译项目
cargo run 编译并运行
cargo check 检查代码能否编译(不生成可执行文件)
cargo test 运行测试

小技巧:开发时多用 cargo check,它比 cargo build 快很多。我一般写几行代码就 check 一下,确保没有语法错误。

1.4 第一个 Rust 程序:Hello, World!

终于到了写代码的环节。咱们用 cargo 创建一个新项目:

cargo new hello_rust
cd hello_rust

cargo 会自动生成一个 src/main.rs 文件。打开看看:

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

运行它:

cargo run

你会看到输出:

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

嗯,就是这么简单。但别小看这几行代码,它背后包含了 Rust 的核心概念:

  • fn main() 是程序的入口函数
  • println! 是一个宏(注意那个感叹号)
  • Rust 的语句以分号结尾

避坑指南:我曾经见过新手把 println! 写成 println,少了感叹号。编译器会报错说找不到这个函数。记住,带感叹号的是宏,不带的是普通函数。

知识体系总览

下面这张图帮你理清本章的知识结构:

Rust 入门 发展史 2006 个人项目 2015 1.0 稳定版 2021 Linux 内核支持 核心优势 内存安全 零成本抽象 无畏并发 环境搭建 rustup 安装 cargo 使用 验证安装 第一个程序:Hello, World! cargo new → cargo run 理解 fn main 和 println! 宏

这张图把本章内容串起来了。从发展史到核心优势,再到环境搭建和第一个程序,每一步都是环环相扣的。

最后说两句:环境搭建这块,如果遇到问题别硬扛。去 Rust 中文社区或者 Stack Overflow 搜一下,基本都能找到答案。我当年装 rustup 也折腾了半小时,后来发现是网络问题。换个镜像源就好了。


专注资料整理