admin 管理员组

文章数量: 1184232

零基础入门Rust:Comprehensive Rust项目Day 1完全攻略

【免费下载链接】comprehensive-rust 这是谷歌Android团队采用的Rust语言课程,它为你提供了快速学习Rust所需的教学材料。 项目地址: https://gitcode/GitHub_Trending/co/comprehensive-rust

你是否曾因复杂的内存管理而放弃学习系统编程语言?是否想开发高性能应用却受制于JavaScript的性能瓶颈?Comprehensive Rust项目为你提供了一条零基础掌握Rust的捷径。作为谷歌Android团队采用的官方课程,这个项目将帮助你在4天内掌握Rust核心能力。今天我们聚焦Day 1内容,通过src/welcome-day-1.md的结构化课程设计,带你从环境搭建到写出第一个Rust程序,全程实践谷歌工程师的学习路径。

准备工作:搭建Rust开发环境

在编写第一行Rust代码前,需要安装Rust工具链。根据src/cargo/running-locally.md的指导,通过以下命令安装:

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

安装完成后验证版本:

rustc --version  # 应显示1.69.0或更高版本
cargo --version   # Cargo是Rust的构建工具和包管理器

Comprehensive Rust项目提供了完整的课程资料,建议通过以下命令克隆仓库开始学习:

git clone https://gitcode/GitHub_Trending/co/comprehensive-rust
cd comprehensive-rust

项目的核心课程内容位于src/目录,Day 1的课程安排可在src/welcome-day-1.md中查看,整个上午的学习目标是掌握Rust基础语法和类型系统,预计需要180分钟。

第一个Rust程序:Hello World

与所有编程语言学习一样,我们从经典的"Hello World"开始。创建项目的标准方式是使用Cargo:

cargo new hello-world
cd hello-world

这会生成一个完整的Rust项目结构,其中src/main.rs是程序入口文件。根据src/types-and-values/hello-world.md的示例,修改src/main.rs为:

fn main() {
    println!("Hello 🌍!");
}

运行程序:

cargo run

你将看到输出"Hello 🌍!"。这个简单程序展示了Rust的几个核心特点:

  • fn main()是程序入口函数
  • println!是一个宏(macro),通过!标识
  • Rust字符串天然支持Unicode,可直接使用emoji

变量与类型系统

Rust是静态类型语言,每个变量都有明确的类型。在src/types-and-values/variables.md中详细介绍了变量声明方式:

let x: i32 = 10;       // 显式类型声明
let y = 20;            // 类型推断为i32
let mut z = 30;        // mut关键字允许变量被修改
z = 40;                // 重新赋值

Rust的变量默认是不可变的(immutable),这种设计有助于编写安全的并发代码。如果尝试修改未使用mut声明的变量,编译器会报错,这体现了Rust的"安全优先"设计理念。

基本数据类型包括:

  • 整数类型:i8、i16、i32、i64(有符号)和u8、u16等(无符号)
  • 浮点数:f32、f64
  • 布尔值:bool(true或false)
  • 字符:char(Unicode标量值,如'🌍')

控制流基础

Rust的控制流结构与其他语言类似,但有一些独特特性。

条件表达式

src/control-flow-basics/if.md展示了Rust中if表达式的用法:

let x = 10;
let size = if x < 20 { "small" } else { "large" };
println!("number size: {}", size);

注意Rust的if是表达式而非语句,这意味着它有返回值。因此,if和else分支的返回类型必须一致。

循环结构

Rust提供三种循环方式,详细说明在src/control-flow-basics/loops.md:

  1. while循环:
let mut x = 200;
while x >= 10 {
    x = x / 2;
}
  1. loop循环(无限循环):
loop {
    println!("无限循环,按Ctrl+C退出");
}
  1. for循环(最常用的迭代方式):
for i in 1..=5 {
    println!("计数: {}", i);
}

Day 1学习路径与资源

Comprehensive Rust的Day 1课程结构清晰,主要包含以下模块:

  • 上午课程:src/welcome-day-1.md

    • 类型与值:src/types-and-values.md
    • 控制流基础:src/control-flow-basics.md
    • 函数与模块:src/control-flow-basics/functions.md
  • 下午课程:src/welcome-day-1-afternoon.md

    • 所有权系统:src/memory-management/ownership.md
    • 借用机制:src/borrowing.md
    • 切片类型:src/references/slices.md

每个模块都配有练习,例如控制流章节的练习可在src/control-flow-basics/exercise.md找到,建议完成后对照src/control-flow-basics/solution.md检查答案。

总结与后续学习建议

Day 1我们学习了Rust的基础语法、类型系统和控制流,这些是构建复杂Rust程序的基石。建议:

  1. 完成src/exercises/目录下的基础练习
  2. 通过cargo doc --open命令查看标准库文档
  3. 阅读项目根目录的README.md了解更多课程安排

明天我们将深入Rust的核心特性——所有权系统和内存管理,这是Rust安全性和性能的关键所在。继续关注Day 2的学习攻略,掌握更多Rust高级特性!

如果你在学习过程中遇到问题,可以查阅src/other-resources.md获取额外学习资料,或参与Rust社区讨论。记住,编程学习的关键是持续实践,每天编写代码才能真正掌握这门强大的语言。

【免费下载链接】comprehensive-rust 这是谷歌Android团队采用的Rust语言课程,它为你提供了快速学习Rust所需的教学材料。 项目地址: https://gitcode/GitHub_Trending/co/comprehensive-rust

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

本文标签: 入门 完全攻略 基础 项目 Comprehensive