Rust变量
变量是程序可以操纵的命名内存,就是变量可以帮助程序存储值。 Rust中的变量与特定的数据类型相关联,数据类型确定变量的内存大小和布局、可以存储在该内存中的值的范围以及可以对该变量执行的一组操作。
变量命名规则
在本节中,我们将学习命名变量的规则:
变量的名称可以由字母、数字和下划线组成;
它必须以字母或下划线开头;
Rust区分大小写,大写和小写字母是不同的。
语法
在Rust中声明变量时,数据类型是可选的,数据类型可从分配给变量的值推断出来的。
下面给出了声明变量的语法。
let variable_name = value; //未指定类型 let variable_name:dataType = value; //指定类型
fn main() { let fees = 25_000; let salary:f64 = 35_000.00; println!("fees is {} and salary is {}",fees,salary); }
上面代码的输出将是:
fees is 25000 and salary is 35000
不可变的
默认情况下,变量是不可变的:在Rust中仅能读取。换句话说,一旦将值绑定到变量名称,就不能更改变量的值。
让我们通过一个例子来理解这一点。
fn main() { let fees = 25_000; println!("fees is {} ",fees); fees = 35_000; println!("fees changed is {}",fees); }
输出结果如下图:
error[E0384]: re-assignment of immutable variable `fees` --> main.rs大写和小写字母是不同的,因为Rust区分大小写。3 | 3 | let fees = 25_000; | ---- first assignment to `fees` ... 6 | fees=35_000; | ^^^^^^^^^^^ re-assignment of immutable variable error: aborting due to previous error(s)
错误消息指出了错误的原因:不能将值再次分配给不可变fees,这是Rust允许程序员编写代码并利用安全性和轻松并发性的众多方式之一。
可变的
变量默认是不可变的,在变量名前面加上mut使其可变的关键字,可变变量的值可以更改。
声明可变变量的语法如下所示:
let mut variable_name = value; let mut variable_name:dataType = value; Let us understand this with an example fn main() { let mut fees:i32 = 25_000; println!("fees is {} ",fees); fees = 35_000; println!("fees changed is {}",fees); }
该代码段的输出如下:
fees is 25000 fees changed is 35000