Rust 变量

本篇教程将深入介绍 Rust 编程语言中的变量,包括如何声明、初始化和修改变量。我们还会讨论 Rust 中常见的变量类型及其特性。本文使用 Markdown 格式编写,并全部采用中文进行讲解。

什么是变量?

在计算机程序中,变量是一种存储数据值的命名位置。Rust 中的每个变量都有一个类型,它决定了可以存储在变量中的数据类型。

声明变量

要声明一个变量,可以使用 let 关键字,后跟变量名和类型(如果需要)。例如:

// 声明并未初始化的变量
let x: i32;

// 声明并初始化变量
let y = 5;

在上面的代码中,我们声明了两个变量 xyx 是一个未初始化的整数类型的变量(Rust 编译器会警告你使用未初始化的变量),而 y 则被赋予了一个初始值 5

可变性和不可变性

Rust 中的变量默认是不可变的(即一旦绑定到某个值,就不能再将其修改为另一个值)。如果希望创建一个可以被重新赋值的变量,需要使用 mut 关键字:

let mut z = 10; // z 是可变的
z = 20;         // 现在 z 的值为 20

常量

除了变量,Rust 还支持声明常量,常量不同于变量,它们是绑定到一个名称的值,并且该值不能在程序执行期间更改。在 Rust 中,使用 const 关键字声明常量:

const THREE_HOURS_IN_SECONDS: u32 = 60 * 60 * 3;

变量遮蔽

Rust 允许在一个作用域内多次声明同名的变量。这被称为变量遮蔽(variable shadowing):

let x = 5;
let x = x + 1; // 此时,x 的值为 6
{
    let x = x * 2; // 在这个内部作用域中,x 的值为 12
}
println!("{}", x); // 此时,x 的值仍然是 6

变量类型

Rust 是一种静态类型语言,这意味着在编译期间需要知道所有变量的类型。Rust 提供了多种内置数据类型:

  • 整数类型i8, u8, i16, u16, i32, u32, i64, u64, isize, usize
  • 浮点类型f32, f64
  • 布尔类型bool
  • 字符类型char
  • 元组类型(T1, T2, ...)
  • 数组类型[T; N]

每种数据类型都有其自己的特性和用途。了解它们是掌握 Rust 编程的基础之一。

总结

本教程介绍了 Rust 中变量的声明、初始化、可变性和不可变性,以及变量遮蔽等概念。我们还探索了 Rust 提供的各种内置数据类型。现在你应该对 Rust 中的变量有了更深入的理解,并准备好开始进一步学习和实践这门精彩而强大的编程语言。