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