Rust学习二 变量与可变性

变量与可变性

一 变量

  1. 变量默认是不可变的,声明一个变量后不可以在改变这个变量的值
  2. 使用 mut 关键字声明一个变量是可变的。
  3. 可变性是一种权衡。

二 常量

  1. 使用 const 关键字,而非 let 声明一个常量
  2. 常量声明必须指定类型:
    const MAX_POINTS: u32 = 100_000;
    

rust常量命名规范是:全字母大写, 单词间以下划线分隔,rust的数字为了方便阅读也可以使用下划线分割。
3. 将一个在整个程序中使用的值设为常量,有利于传递该值的含义给未来的代码维护人员。
4. 常量便于修改,只需修改一个常量,便可更新程序中所有使用该常量的值

三 变量与常量的异同

相同点:都不可变

不同点:

  1. 常量不是默认不可变,而是一直不会改变。声明方式不一样,变量使用let 常量使用const且必须指定常量的类型。
  2. 常量可以在任意作用域里声明
  3. 常量只能设置为常量表达式,而不能设置为函数调用的结果或只能在运行时计算的任何其他值。

四 覆盖 shadowing

  1. 变量的覆盖不同于将变量设为可变变量。 如果不使用let为变量重新赋值,会得到编译错误,但是使用let为同一变量重新赋值可是覆盖之前的该变量的值。覆盖特性让变量可以改变

  2. 覆盖的好处是可以让我们避免于起不同的变量名,可以直接复用之前的变量名,同时不必关心变量类型的更改。另外复用变量名也更高效和便于理解。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值