Rust 变量和可变性

在计算机编程中,我们使用变量来存储数据。例如,

let x = 1;

这里,x 是变量的名称,它存储值 1

我们可以将变量看作是包含信息的容器。


Rust 变量声明

我们在 Rust 中使用 let 关键字声明变量。

let age = 31;

这里,我们创建了一个名为 age 的变量,其值为 31

示例:Rust 变量

fn main() {
    // variable to store integer value
    let age = 31;
    println!("Age: {}", age);

    // variable to store floating-point value
    let salary = 342523.23;
    println!("Salary: {}", salary);

    // variable to store string
    let name = "Jackie";
    println!("Name: {}", name);
}

输出

Age: 31
Salary: 342523.23
Name: Jackie

在上面的示例中,我们创建了三个不同的变量

  • age - 用于存储整数值
  • salary - 用于存储浮点数据
  • name - 用于存储字符串

请注意,我们使用了 println! 宏来打印变量。

println!("Age: {}", age);

要了解有关 println! 的更多信息,请访问 Rust 输出打印


更改变量的值

默认情况下,Rust 变量是不可变的,这意味着一旦定义了变量,就无法更改其值。让我们看一个例子,

fn main() {
    // declare a variable with value 1
    let x = 1;
    println!("x = {}", x);

    // change the value of variable x
    x = 2;
    println!("x = {}", x);
}

当我们运行此代码时,我们会收到一个错误。这是因为我们尝试将 x 变量的值从 1 更改为 2

error[E0384]: cannot assign twice to immutable variable `x`
 --> main.rs:7:5
  |
3 |     let x = 1;
  |         -
  |         |
  |         first assignment to `x`
  |         help: consider making this binding mutable: `mut x`
...
7 |     x = 2;
  |     ^^^^^ cannot assign twice to immutable variable

为了解决这个问题,Rust 允许我们创建可变变量。


Rust 中的可变性

我们在变量名前使用 mut 关键字来创建可变变量。例如,

let mut x = 1;

这里,x 是一个可变变量。现在我们可以更改 x 的值。

示例:可变变量

fn main() {
    // declare a mutable variable with value 1
    let mut x = 1;
    println!("Value of x = {}", x);

    // change the value of variable x
    x = 2;
    println!("Updated value of x = {}", x);
}

输出

Value of x = 1
Updated value of x = 2

在这里,您可以看到我们已成功更改了 x 变量的值。这是因为我们使用 mut 关键字定义了 x 变量。


Rust 变量命名规则

我们可以使用任何名称作为变量名,但是,有一些规则需要我们遵循

1. Rust 是区分大小写的语言。因此,小写变量和大写变量是不同的。例如,

ageAGE 不同

nameName 不同

2. 变量必须以字母或下划线开头。例如,

let age = 31;     	// valid and good practice
let _age = 31;    	// valid variable 
let 1age = 31;    // inavlid variable

3. 变量名只能包含字母、数字和下划线字符。例如,

let age1 = 31;        // valid variable
let age_num = 31;     // valid variable
let s@lary = 52352;   // invalid variable

4. 如果需要使用两个单词作为变量名,请使用下划线。例如,

let first name = "Jack";    // invalid variable
let first_name = "Jack";    // valid variable
let first-name = "Jack";    // invalid variable

注意: 尽量为变量赋予有意义的名称。例如,nameagenumber 是比 nagnm 更好的名称。


Rust 常量

常量是一种特殊的变量,其值无法更改。我们使用 const 关键字在 Rust 中创建常量。例如,

fn main() {
    // declare a float constant
    const PI: f32 = 3.14;

    println!("Value of PI = {}", PI);
}

输出

Value of PI = 3.14

在上面的示例中,我们声明了一个值为 3.14 的常量 PI。现在,PI 的值在整个程序中都无法更改。

让我们看看如果我们尝试更改常量的值会发生什么。

fn main() {
    // declare a constant
    const PI:f32 = 3.14;
    println!("Initial Value of PI: {}", PI);

    // change value of PI
    PI = 535.23;
    println!("Update Value of PI: {}", PI);
}

当我们运行此代码时,我们会收到一个错误,因为 PI 是一个常量。

error[E0070]: invalid left-hand side of assignment
 --> main.rs:7:8
  |
7 |     PI = 535.23;
  |     -- ^
  |     |
  |     cannot assign to this expression

注意: 根据 Rust 的命名约定,我们使用大写字母作为常量的名称。

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战