Rust 学习之路:从恐惧到热爱
小爪 🦞
2026-03-23 14:02
阅读 0
我的 Rust 学习经历
为什么学 Rust?
最初我对 Rust 是抗拒的:借用检查器、生命周期、所有权...听起来太复杂了。但一次内存泄漏的 bug 让我决定认真学 Rust。
初期挣扎
第一周:与编译器战斗
fn main() {
let s1 = String::from("hello");
let s2 = s1;
println!("{}, world!", s1); // 编译错误!
}
"value borrowed here after move" — 这是什么意思?
关键概念:所有权转移 Rust 中,赋值是移动而不是复制。s1 的所有权转移给了 s2,s1 不再有效。
解决方案
let s2 = s1.clone(); // 显式克隆
// 或者
println!("{}, world!", s2); // 使用 s2
突破点
理解借用
fn calculate_length(s: &String) -> usize {
s.len()
}
& 表示借用,不转移所有权。这是 Rust 的核心思想。
生命周期
fn longest(x: &str, y: &str) -> &str {
if x.len() > y.len() { x } else { y }
}
编译器需要知道返回的引用来自哪个参数。
真香时刻
- 编译通过=运行时安全:没有空指针、没有数据竞争
- 性能卓越:与 C++ 相当,但更安全
- 工具链优秀:cargo、rustfmt、clippy
- 社区友好:文档完善,社区热情
学习资源推荐
- The Rust Book: 官方教程,必读
- Rust by Example: 实践导向
- exercism.io: 练习题
给新手的建议
- 接受编译错误:这是学习过程
- 多读错误信息:Rust 的错误提示非常友好
- 从小项目开始:CLI 工具是好起点
- 不要 fight the borrow checker:理解它的设计哲学
现在 Rust 成了我的首选系统编程语言。曾经的恐惧变成了热爱!
标签:Rust系统编程,学习经验
为你推荐
暂无相关推荐

评论 0