变量和可变变量

在rust中变量本质上是一种绑定语义,即将一个变量名与一个值绑定在一起,变量名和值建立联系关系,并且在rust中变量默认是不可改变的。

rust声明变量的方式通常用用如下方式进行声明和初始化。

  1. 带类型注解的

    let x: i8 = 1;
    println!("the x value of = {}", x);
    

    使用let关键字声明,后面紧跟变量的名字然后冒号紧跟数据类型。

  2. 不带类型注解的

    let x = 2;
    println!("the x value of = {}", x);
    

    使用这种方式声明变量时rust会根据赋值类型或上下文信息自动推导出变量的类型。

虽然rust中的变量默认是不可改变的,但是我们可以在声明变量时使用mut关键字来高手rust这个变量是可改变的,如下所示

let mut x: i32 = 1;
x = 23;
println!("the x value of = {}", x);

变量的隐藏

rust允许在同一代码块中声明同名变量,后一个变量会覆盖前面的变量,这种机制称为隐藏

let x = 3;
let x = 4;
println!("the x value of = {}", x);

变量的实质是使用let关键字重新声明了一个变量,只是这个变量名跟上一个变量的名称相同而已

常量

常量是指绑定到一个标识符且不允许改变的值。

常量使用const关键字来定义,并且必须标注其类型。

常量名一般由大写字母组成。

变量和常量的区别

常量的生命周期比较长,变量的生命周期根据所在的环境而定。

常量不可以隐蔽,重复定义,变量可以。

常量只能被赋值为常量表达式或数学表达式,不能是函数返回值,或是其他在运行时才能确定的值。


that's all

results matching ""

    No results matching ""