Rust基础入门之变量绑定与解构

目录

1.为何要手动设置变量的可动性?

2.变量命令

3.变量绑定

4.变量可变性

 5.使用下划线开头忽略未使用的变量

 6.变量解构

 7.变量和常量之间的差异

8.变量遮蔽(shadowing)


1.为何要手动设置变量的可动性?

在其他大多数语言中,要么只支持声明可变的变量(灵活性),要么只支持声明不可变的变量例如函数式语言(安全性),Rust也两种都支持

2.变量命令

在命令方面,和其他语言没有区别,不过当给变量命名时,需要遵循Rust命名规范

3.变量绑定

let a = "hello word"

要理解为什么不用赋值而用变量绑定呢?这里涉及Rust最核心的原则--所有权,简单来讲,任何内存对象都是有主人的,而且一般情况下完全属于它的主人,绑定就是把这个对象绑定给一个变量,让这个变量变成它的主人(这种情况下,该对象之前的主人就会丧失对该对象的所有权)

4.变量可变性

Rust变量默认是不可变的

 想要变量声明为可变,在变量名前加mut 

 5.使用下划线开头忽略未使用的变量

如果你创建了一个变量却不在任何地方使用它,Rust通常会给你一个警告,因为这可能会是个BUG。但是有时创建一个不会被使用的变量是有用的,比如你正在设计原型或刚刚开始一个项目。这是你希望告诉Rust不太警告未使用的变量,为此可以用下划线作为变量名的开头

 6.变量解构

let表达式不仅仅用于变量的绑定,还能进行复杂变量的结构;从一个相对复杂的变量中,匹配出该变量的一部分内容

 7.变量和常量之间的差异

  • 常量不允许使用mut,常量不仅仅默认不可变,而且自始自终不可变,因为常量在编译完成后,已经确定它的值
  • 常量使用const关键字而不是let关键字来声明,并且值的类型必须标注
const MAX_POINTS: u32=100_000

8.变量遮蔽(shadowing)

Rust允许声明相同的变量名,在后面声明的变量会遮蔽掉前面声明的

 这和mut变量的使用不同,第二个let生成了完全不同的新变量,两个变量只是恰好拥有同样的名称,涉及一次内存对象的再分配,而mut声明的变量,可以修改同一个内存地址上的值,并不会发生对象的再分配,性能要更好。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值