借用:引用不是普通指针
上一篇讲所有权:谁拥有,谁释放。
但大多数函数并不想接管资源。它只是想临时看一眼数据,或者临时改一下数据。C 里通常传指针:
void inspect(const uint8_t *buf, size_t len);
void update(uint8_t *buf, size_t len);
Rust 里对应的是借用:
fn inspect(buf: &[u8]) {}
fn update(buf: &mut [u8]) {}
借用的核心不是“Rust 指针语法”,而是访问权限:不拿走所有权,只临时读或写。
阅读更多