在计算机编程中,我们使用变量来存储数据。例如,
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 是区分大小写的语言。因此,小写变量和大写变量是不同的。例如,
age 与 AGE 不同
name 与 Name 不同
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
注意: 尽量为变量赋予有意义的名称。例如,name
、age
、number
是比 n
、ag
、nm
更好的名称。
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 的命名约定,我们使用大写字母作为常量的名称。