目录
二、3 步搞定 Rust 开发环境搭建,Windows/macOS/Linux 通用
三、新手必学:从 “Hello World” 到待办清单,学会基础语法
1. 第一个 Rust 程序:Hello World(5 分钟搞定)
2. 进阶一步:写一个待办清单(学会变量、循环、字符串处理)
作为刚接触 Rust 的初级开发者,是不是既期待它的 “内存安全”“高性能”,又担心入门门槛高?别担心!这篇文章会用 “ step by step ” 的方式,带你从 0 开始搭建 Rust 开发环境,学会基础语法,最后写出一个能记录待办事项的实用小工具 —— 全程无复杂概念,跟着做就能成功!
一、为什么推荐新手学 Rust?先搞懂 “值得学” 的理由
在动手之前,先聊聊新手最关心的问题:Rust 对初学者友好吗?其实只要找对方法,完全不用怕!
- 内存安全有保障:不像 C/C++ 容易出现内存泄漏、野指针问题,Rust 的 “所有权” 机制会在编译阶段帮你规避这些 bug,新手也能写出稳定的代码;
- 工具链超贴心:自带的 Cargo 工具能一键创建项目、编译、运行,不用手动配置复杂的环境变量;
- 生态越来越完善:无论是入门教程还是开源库,都有大量中文资源,遇到问题很容易找到解决方案;
- 就业前景好:现在很多大厂在系统开发、Web 后端、嵌入式等领域都在招 Rust 开发者,学会了多一条职业选择。
简单说:Rust 是 “难在理解,易在实践”,跟着这篇文章一步步做,你会发现 “原来入门这么简单”!
二、3 步搞定 Rust 开发环境搭建,Windows/macOS/Linux 通用
环境搭建是新手的第一个 “拦路虎”,但 Rust 官方已经把流程简化到极致,不管你用什么系统,核心步骤都只有 3 步:
1. 安装 Rust 核心工具链
首先打开 Rust 官方网站(https://www.rust-lang.org/tools/install),根据你的系统选择对应的安装方式:
- Windows 系统:直接下载安装程序(rustup-init.exe),双击运行后,按照提示按 “1” 选择默认安装(不用改任何配置),等待几分钟即可;
- macOS/Linux 系统:打开终端,输入下面的命令,按回车后等待安装:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
安装过程中如果提示 “是否继续”,输入 “1” 并回车就行。
2. 验证安装是否成功
安装完成后,重新打开一个终端(重要!否则环境变量不生效),输入下面 3 个命令,只要能显示版本号,就说明安装成功了:
# 查看 Rust 编译器版本
rustc --version
# 查看 Cargo 版本(Rust 的项目管理工具)
cargo --version
# 查看 Rust 升级工具版本
rustup --version
举个例子,成功的话会显示类似这样的内容:
rustc 1.75.0 (82e1608df 2023-12-21)
cargo 1.75.0 (1d8b05cdd 2023-11-20)
rustup 1.26.0 (5af9b9484 2023-04-05)
3. 选择一个趁手的编辑器(新手推荐 VS Code)
环境搭好了,还需要一个方便写代码的工具。新手优先推荐 VS Code(免费、轻量、插件多),配置步骤也很简单:
- 下载并安装 VS Code(官网:https://code.visualstudio.com/);
- 打开 VS Code,在左侧 “扩展” 面板搜索 “Rust”,安装官方的 “Rust Analyzer” 插件(这个插件能帮你补全代码、检查语法错误,新手必备);
- 再安装一个 “Code Runner” 插件(点击右上角的三角形就能运行代码,不用记终端命令)。
到这里,你的 Rust 开发环境就完全准备好了 —— 是不是比想象中简单?接下来我们写第一个程序!
三、新手必学:从 “Hello World” 到待办清单,学会基础语法
很多教程一上来就讲复杂概念,新手很容易劝退。这部分我们用 “写实用小工具” 的方式学语法,每学一个知识点,就用代码实践一次,成就感拉满!
1. 第一个 Rust 程序:Hello World(5 分钟搞定)
先用 Cargo 创建第一个项目,步骤如下:
- 打开终端,进入你想存放项目的文件夹(比如桌面),输入下面的命令创建一个叫 “rust_todo” 的项目(“todo” 就是待办清单的意思):
cargo new rust_todo
cargo new rust_todo
- 进入项目文件夹:
cd rust_todo
cd rust_todo
- 用 VS Code 打开这个项目(终端输入 code . 即可),你会看到项目结构很简单:
-
- src/main.rs:这是我们写代码的地方;
-
- Cargo.toml:项目的配置文件(比如依赖包管理)。
接下来修改 src/main.rs 文件:
// 这是注释(// 后面的内容不会被执行)
// main 函数是程序的入口(所有 Rust 程序都会从这里开始运行)
fn main() {
// println! 是 Rust 的打印函数(注意后面有个 !,表示这是一个“宏”,暂时不用深究,记用法就行)
println!("Hello Rust!今天我要写一个待办清单工具~");
}
然后运行程序:
- 方法 1:用终端在项目根目录输入 cargo run,等待编译后,终端会显示:
Compiling rust_todo v0.1.0 (/Users/xxx/Desktop/rust_todo)
Finished dev [unoptimized + debuginfo] target(s) in 0.5s
Running `target/debug/rust_todo`
Hello Rust!今天我要写一个待办清单工具~
- 方法 2:用 VS Code 的 “Code Runner” 插件,打开 main.rs 后点击右上角的三角形,直接看到运行结果。
恭喜!你已经写出了第一个 Rust 程序,接下来我们升级成实用的待办清单!
2. 进阶一步:写一个待办清单(学会变量、循环、字符串处理)
待办清单需要支持 “添加事项”“查看所有事项”“退出” 三个基础功能,正好能学会 Rust 多个核心语法。修改 src/main.rs 为下面的代码(每一行都有详细注释,跟着看就懂):
fn main() {
// 1. 定义一个可变的向量(Vector),用来存待办事项(向量类似“动态数组”,能随时添加元素)
// <String> 表示这个向量里只存字符串类型的数据,mut 表示向量可以修改(添加元素)
let mut todos: Vec<String> = Vec::new();
// 2. 打印欢迎信息,告诉用户怎么用这个工具
println!("===== Rust 待办清单工具 =====");
println!("操作说明:");
println!("1. 输入“add 事项内容”添加待办(比如:add 买牛奶)");
println!("2. 输入“list”查看所有待办");
println!("3. 输入“exit”退出工具");
println!("============================\n");
// 3. 循环接收用户输入(loop 表示“无限循环”,直到用户输入 exit 才退出)
loop {
// 提示用户输入操作
print!("请输入操作:");
// 接收用户输入(创建空字符串存输入内容)
let mut input = String::new();
// std::io::stdin() 是标准输入,read_line 读取一行内容,&mut input 把输入存到 input 里
// expect 表示“如果读取失败,就提示这个错误信息”
std::io::stdin().read_line(&mut input).expect("读取输入失败,请重试!");
// 处理输入:去掉字符串前后的空白(比如用户输入时不小心加的空格、回车)
let input = input.trim();
// 判断用户的操作(用 if-else 做分支判断)
if input.starts_with("add ") {
// 情况 1:用户要添加待办(输入格式是“add 事项”)
// 截取“add ”后面的内容(比如 input 是“add 买牛奶”,截取后就是“买牛奶”)
let todo = input.strip_prefix("add ").unwrap();
// 把截取到的事项添加到向量里
todos.push(todo.to_string());
// 提示用户添加成功
println!("已添加待办:{}(当前共 {} 个待办)\n", todo, todos.len());
} else if input == "list" {
// 情况 2:用户要查看所有待办
println!("\n你的待办清单:");
if todos.is_empty() {
// 如果向量是空的(没有待办),提示用户
println!("暂无待办事项,赶紧添加吧!");
} else {
// 如果有待办,循环遍历向量,打印每个事项(enumerate 会给每个元素加序号,从 1 开始)
for (index, todo) in todos.iter().enumerate() {
println!("{}. {}", index + 1, todo);
}
}
println!("\n");
} else if input == "exit" {
// 情况 3:用户要退出
println!("\n再见!下次再用待办清单吧~");
// 退出循环(break 表示“跳出当前循环”)
break;
} else {
// 情况 4:用户输入的操作不合法
println!("操作错误!请按说明输入(add 事项 / list / exit)\n");
}
}
}
- 运行程序,试试这几个操作,体验效果:
-
- 输入 add 早上8点起床 → 会提示 “已添加待办”;
-
- 输入 add 晚上写 Rust 代码 → 再添加一个事项;
-
- 输入 list → 查看所有待办,会显示带序号的事项;
-
- 输入 exit → 退出工具。
运行效果示例:
===== Rust 待办清单工具 =====
操作说明:
1. 输入“add 事项内容”添加待办(比如:add 买牛奶)
2. 输入“list”查看所有待办
3. 输入“exit”退出工具
============================
请输入操作:add 早上8点起床
已添加待办:早上8点起床(当前共 1 个待办)
请输入操作:add 晚上写 Rust 代码
已添加待办:晚上写 Rust 代码(当前共 2 个待办)
请输入操作:list
你的待办清单:
1. 早上8点起床
2. 晚上写 Rust 代码
请输入操作:exit
再见!下次再用待办清单吧~
通过这个待办清单,你一次性学会了 Rust 5 个核心基础:
- 向量(Vec):用来存多个同类型数据(比如多个待办事项);
- 循环(loop/for):loop 实现无限循环,for 遍历向量元素;
- 分支判断(if-else):根据用户输入执行不同操作;
- 字符串处理:trim () 去空白、starts_with () 判断前缀、strip_prefix () 截取内容;
- 可变变量(mut):向量 todos 加了 mut,才能不断添加新事项。
四、新手避坑指南:这些错误别踩,少走弯路
刚学 Rust 时,很容易遇到一些 “看起来简单但卡很久” 的错误,这里总结 3 个新手高频坑,帮你节省时间:
1. 向量添加元素时,忘记加 mut
错误示例:
let todos: Vec<String> = Vec::new(); // 没有加 mut
todos.push("买牛奶".to_string()); // 报错!因为向量不可修改
解决方法:定义向量时加 mut,允许添加 / 删除元素:
let mut todos: Vec<String> = Vec::new(); // 加 mut
todos.push("买牛奶".to_string()); // 正确
2. 截取字符串时,没处理 “空内容”
如果用户只输入 add 而不写事项,strip_prefix("add ") 会返回 None,直接用 unwrap() 会报错。
优化建议:把 unwrap() 换成 if let 处理空情况(新手可以先记这个优化写法):
if let Some(todo) = input.strip_prefix("add ") {
todos.push(todo.to_string());
println!(" 已添加待办:{}", todo);
} else {
println!(" 请输入待办内容(比如:add 买牛奶)");
}
3. 循环里重复定义变量,导致 “变量遮蔽”
错误示例:
loop {
let input = String::new(); // 第一次定义
std::io::stdin().read_line(&mut input).expect("失败");
let input = input.trim(); // 第二次定义,会“遮蔽”上面的 input
}
虽然能运行,但不规范。解决方法:用 mut 定义一个可变变量,重复使用:
loop {
let mut input = String::new(); // 定义一次,加 mut
std::io::stdin().read_line(&mut input).expect("失败");
input = input.trim().to_string(); // 直接修改变量值,不用重新定义
}
五、下一步学习建议:新手如何持续进阶?
学会了环境搭建和待办清单,接下来可以按这个路径继续学,循序渐进不劝退:
- 给待办清单加新功能:比如 “删除待办”(用 todos.remove(索引))、“标记已完成”(给事项加 [已完成] 前缀),自己动手改代码,印象更深刻;
- 学习控制流细节:比如 for 循环遍历向量的其他方式、while 循环的用法(可以写一个 “倒计时” 程序练习);
- 看官方文档:Rust 官方的《Rust 程序设计语言》(俗称 “红宝书”)是免费的,中文版本地址:https://kaisery.github.io/trpl-zh-cn/,里面的 “向量”“字符串” 章节能帮你巩固今天学的知识;
- 用小项目练手:比如写一个 “日记记录工具”(把内容存到文件里)、“简易计算器”(支持加减乘除),每完成一个小项目,就多一份信心。
总结
这篇文章从新手视角出发,带你完成了 “环境搭建→写 Hello World→做待办清单” 的全过程,没有复杂的理论,都是能直接上手的实操步骤。其实 Rust 入门并不难,关键是 “先动手做小工具,再理解背后的原理”—— 比如今天的待办清单,你可以试着加个 “删除功能”,在实践中巩固向量和循环的用法。
如果在学习过程中遇到问题,记得加入活动交流群,和其他开发者一起讨论;
5万+

被折叠的 条评论
为什么被折叠?



