Appearance
Day 01 - Rust简介与学习路线
什么是Rust?
Rust是一门系统编程语言,由Mozilla资助开发,2006年Graydon Hoare创立,2010年正式发布。
核心理念:安全、并发、现代
为什么学习Rust?
| 优势 | 说明 |
|---|---|
| 内存安全 | 无GC,通过所有权系统保证无空指针/内存泄漏 |
| 高性能 | 接近C/C++,零成本抽象 |
| 并发安全 | 所有权模型天然防止数据竞争 |
| 生产力 | 优秀的错误信息,cargo包管理器 |
学习曲线
Rust的学习曲线确实陡峭,主要难点:
1. 所有权系统(Ownership)
rust
fn main() {
let s1 = String::from("hello");
let s2 = s1; // s1移动到s2,不再有效
// println!("{}", s1); // 错误!s1已失效
println!("{}", s2); // 正确
}2. 生命周期(Lifetime)
rust
fn longest<'a>(x: &'a str, y: &'a str) -> &'a str {
if x.len() > y.len() { x } else { y }
}3. 借用(Borrowing)
rust
fn main() {
let mut s = String::from("hello");
let r1 = &s; // 不可变借用
let r2 = &s; // 可以多个不可变借用
// let r3 = &mut s; // 错误!有不可变借用时不能可变借用
println!("{} and {}", r1, r2);
}学习路线
| 阶段 | 主题 | 预计天数 |
|---|---|---|
| 基础 | 语法、所有权、借用 | Day 01-10 |
| 进阶 | trait、泛型、生命周期 | Day 11-20 |
| 实战 | 异步、并发、Web开发 | Day 21-30 |
面试考点
问题:Rust相比Java/C++的优势?
答案:
- 内存安全:无需GC,无空指针/数据竞争
- 零成本抽象:高级语法不牺牲性能
- 并发安全:编译期防止数据竞争
适合场景:操作系统、嵌入式、WebAssembly、区块链、高性能组件。
📅 学习进度
| Day | 主题 | 状态 |
|---|---|---|
| 01 | Rust简介与学习路线 | ✅ |
| 02 | 变量与数据类型 | ⬜ |
| ... | ... | ... |
| 30 | 复习与总结 | ⬜ |
