变量和可变变量
在rust中变量本质上是一种绑定语义,即将一个变量名与一个值绑定在一起,变量名和值建立联系关系,并且在rust中变量默认是不可改变的。
rust声明变量的方式通常用用如下方式进行声明和初始化。
带类型注解的
let x: i8 = 1; println!("the x value of = {}", x);
使用let关键字声明,后面紧跟变量的名字然后冒号紧跟数据类型。
不带类型注解的
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