Rust入门之变量与可变性

目录

变量

        let

        mut

常量(constant)

Shadowing(隐藏)


变量
let

声明变量使用let关键字

默认情况下变量是不可变的

例子1:

fn main() {
   let x = 10;
    println!("此处声明的变量:{}",x);
}

输出:此处声明的变量:10

当我们对一个不可变变量再次赋值时,编译器会直接报错,强制运行时,会编译不通过,并提示不可变变量不可二次赋值

例子2:

fn main() {
   let x = 10;
    println!("此处声明的变量:{}",x);
    x = 20;
    println!("重新赋值后的变量:{}",x);
}

输出:
error[E0384]: cannot assign twice to immutable variable `x`
 --> src/main.rs:4:5
  |
2 |    let x = 10;
  |        -
  |        |
  |        first assignment to `x`
  |        help: consider making this binding mutable: `mut x`
3 |     println!("此处声明的变量:{}",x);
4 |     x = 20;
  |     ^^^^^^ cannot assign twice to immutable variable

      
mut

mut关键字是把变量标记为可变变量

例子3:

fn main() {
   let mut x = 10;
    println!("此处声明的变量:{}",x);
    x = 20;
    println!("重新赋值后的变量:{}",x);
}

输出:
此处声明的变量:10
重新赋值后的变量:20
常量(constant)

规范:字母圈大写,多个单词用下划线隔开,例如:MAX_VALUE、MIN_VALUE

例子4:

const MIN_VALUE:u32 = 100000000;
const MAX_VALUE:u32 = 100_000_000;

常量在绑定值以后是不可变的,但是它与不可变的变量又有所不同

        1、常量不可使用mut关键字

        2、声明常量用const关键字,并必须标注类型

        3、常量能在任何作用域声明

        4、常量只能绑定在常量表达式,无法声明函数运行结果和程序运行中的值

Shadowing(隐藏)

可以使用相同的命名覆盖掉前面声明的变量的值

例子5:

fn main() {
    let x = 10;
    println!("此处声明的变量:{}", x);
    let x = "你好呀,我是赛利亚";
    println!("重新声明的变量:{}", x);
}

输出:
此处声明的变量:10
重新声明的变量:你好呀,我是赛利亚

注:同名变量可以不同类型

  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值