Rust 入门超简单!从环境搭建到写待办清单,新手也能轻松上手

目录

一、为什么推荐新手学 Rust?先搞懂 “值得学” 的理由

二、3 步搞定 Rust 开发环境搭建,Windows/macOS/Linux 通用

1. 安装 Rust 核心工具链

2. 验证安装是否成功

3. 选择一个趁手的编辑器(新手推荐 VS Code)

三、新手必学:从 “Hello World” 到待办清单,学会基础语法

1. 第一个 Rust 程序:Hello World(5 分钟搞定)

2. 进阶一步:写一个待办清单(学会变量、循环、字符串处理)

四、新手避坑指南:这些错误别踩,少走弯路

1. 向量添加元素时,忘记加 mut

2. 截取字符串时,没处理 “空内容”

3. 循环里重复定义变量,导致 “变量遮蔽”

五、下一步学习建议:新手如何持续进阶?

总结

作为刚接触 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(免费、轻量、插件多),配置步骤也很简单:

  1. 下载并安装 VS Code(官网:https://code.visualstudio.com/);
  1. 打开 VS Code,在左侧 “扩展” 面板搜索 “Rust”,安装官方的 “Rust Analyzer” 插件(这个插件能帮你补全代码、检查语法错误,新手必备);
  1. 再安装一个 “Code Runner” 插件(点击右上角的三角形就能运行代码,不用记终端命令)。

到这里,你的 Rust 开发环境就完全准备好了 —— 是不是比想象中简单?接下来我们写第一个程序!

三、新手必学:从 “Hello World” 到待办清单,学会基础语法

很多教程一上来就讲复杂概念,新手很容易劝退。这部分我们用 “写实用小工具” 的方式学语法,每学一个知识点,就用代码实践一次,成就感拉满!

1. 第一个 Rust 程序:Hello World(5 分钟搞定)

先用 Cargo 创建第一个项目,步骤如下:

  1. 打开终端,进入你想存放项目的文件夹(比如桌面),输入下面的命令创建一个叫 “rust_todo” 的项目(“todo” 就是待办清单的意思):
cargo new rust_todo

cargo new rust_todo

  1. 进入项目文件夹:
cd rust_todo

cd rust_todo

  1. 用 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");
        }
    }
}
  1. 运行程序,试试这几个操作,体验效果:
    • 输入 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(); // 直接修改变量值,不用重新定义
}

五、下一步学习建议:新手如何持续进阶?

学会了环境搭建和待办清单,接下来可以按这个路径继续学,循序渐进不劝退:

  1. 给待办清单加新功能:比如 “删除待办”(用 todos.remove(索引))、“标记已完成”(给事项加 [已完成] 前缀),自己动手改代码,印象更深刻;
  1. 学习控制流细节:比如 for 循环遍历向量的其他方式、while 循环的用法(可以写一个 “倒计时” 程序练习);
  1. 看官方文档:Rust 官方的《Rust 程序设计语言》(俗称 “红宝书”)是免费的,中文版本地址:https://kaisery.github.io/trpl-zh-cn/,里面的 “向量”“字符串” 章节能帮你巩固今天学的知识;
  1. 用小项目练手:比如写一个 “日记记录工具”(把内容存到文件里)、“简易计算器”(支持加减乘除),每完成一个小项目,就多一份信心。

总结

这篇文章从新手视角出发,带你完成了 “环境搭建→写 Hello World→做待办清单” 的全过程,没有复杂的理论,都是能直接上手的实操步骤。其实 Rust 入门并不难,关键是 “先动手做小工具,再理解背后的原理”—— 比如今天的待办清单,你可以试着加个 “删除功能”,在实践中巩固向量和循环的用法。

如果在学习过程中遇到问题,记得加入活动交流群,和其他开发者一起讨论;

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

一个摸鱼的程序员

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

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

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

打赏作者

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

抵扣说明:

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

余额充值