午夜咖啡午夜咖啡

jolestar 的文章与笔记。

Post

Rust 借用检查的内化过程

2022-07-25 18:48:21Post

很多人学 Rust 时的对抗感,来自借用规则还没内化;一旦理解到位,编译器就会从阻力变成助手。

Rust 新手有很长一段时间都会觉得自己是在和编译器搏斗,仿佛编译器就是专门来和你作对的。

这种感觉其实很正常。问题通常不在语法,而在借用检查。只要借用检查的规则还没有真正内化,写代码时就会一直有一种“我明明知道自己想干什么,但编译器就是不让我过”的挫败感。

但一旦你开始理解借用检查的脾气,这种关系会反过来。编译器不再只是拦路,而会逐渐变成一种助手,帮助你把本来很容易在运行期出问题的状态关系,在编译期就收紧。

我后来会觉得,理解 Move 的借用检查机制,其实是个很好的过渡路径。因为它比 Rust 的实现更简单,更容易帮助人把核心概念想清楚。等这层理解建立起来,再回头看 Rust,很多原来看起来像是在“故意刁难”的地方,就会突然顺很多。

原微博中的媒体