Rust - 变量

变量是程序可以操作的命名存储。 简而言之,变量帮助程序存储值。 Rust 中的变量与特定的数据类型相关联。 数据类型决定变量内存的大小和布局、内存中可以存储的值的范围以及可以对变量执行的操作集。

变量命名规则

在本节中,我们将了解命名变量的不同规则。

  • 变量名可以由字母、数字、下划线组成。

  • 必须以字母或下划线开头。

  • 大小写字母是不同的,因为 Rust 区分大小写。

语法

在 Rust 中声明变量时,数据类型是可选的。 数据类型是根据分配给变量的值推断出来的。

下面给出了声明变量的语法。

let variable_name = value;            // no type specified
let variable_name:dataType = value;   //type specified

示例

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:6: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)

错误消息指出了错误的原因 - 您不能为不可变的变量分配两次值。 这是 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