Rust 变量与绑定

九歌

别说不要走,要说安心去……
let 用来声明变量,这个过程被称为绑定。
位置表达式
代表需要保存的数据,可以进行写操作。
- 本地变量,
- 静态变量,
- 解引用,
- 数组索引,
- 字段引用,
- 位置表达式组合。
位置上下文
- 赋值语句左侧的操作数,
- 一元引用表达式的独立操作数,
- 隐式借用的操作数,
- match 或 let 右侧出现 ref 模式匹配时。
值表达式
引用了某个存储单元地址中的数据,可以进行读操作。
不可变绑定与可变绑定
let 默认声明的变量为不可变绑定(不能写入)。
let mut 声明的变量为可变绑定(可以写入)。
变量所有权与借用
变量之间的所谓“赋值”,根本上是内存数据地址的转移,这就是所有权转移。
如果不转移所有权,实现变量之间的“赋值”需要用 copy 语义。
& 可以将一个变量的所有权“租借”出来,而原变量依然保留它们的所有权,租借出来的类型叫做引用,可以通过“*”解引用,将其中的值取出来。
编辑于 2020-04-26 22:41
