Logo
Section 1 / 4

什么是变量?

本课程讲解变量是什么以及它们如何存储数据。

检查点

什么是变量?

本课程讲解变量是什么以及它们如何存储数据。

变量

变量就像一个存储盒子,与一个关联的名称配对,用于存放数据。这个关联的名称称为标识符,而存入变量中的数据称为值。
默认情况下,变量是不可变的,这意味着你无法重新赋值给它们。

...

创建变量

要创建一个变量,使用 let 绑定关键字,后跟变量名。

什么是绑定?
Rust 将声明称为绑定,因为它们在创建时将名称与值关联起来。let 是一种声明语句。

...

命名规范:
按照惯例,变量名应使用蛇形命名法(snake_case),即:

  • 所有字母均为小写。
  • 单词之间用下划线(_)分隔。

初始化变量

可以在声明变量的同时为其赋值,这个过程称为初始化。此时,值被绑定到该变量上。

...

注意: 你可以先声明变量,稍后再赋值。但不建议这样做,因为它可能导致使用未初始化的变量。

下面的例子声明了一个名为 language 的变量,并将其初始化为值 Rust,然后打印该变量的值:

1fn main() { 2 let language = "Rust"; // 定义一个变量 3 println!("Language: {}", language); // 打印变量 4}

注意: 与数字一样,你不能直接在 println!() 中打印变量。你需要使用占位符。

如何让变量变为可变?

在本课开头提到,变量默认是不可变的,直到你希望修改它时,才可以将其设为可变。
要使变量可变,需在 let 后加上 mut 关键字和变量名。

...
1fn main() { 2 let mut language = "Rust"; // 定义一个可变变量 3 println!("Language: {}", language); // 打印变量 4 language = "Java"; // 更新变量 5 println!("Language: {}", language); // 打印变量的更新后的值 6}

同时赋值多个变量

可以在一条语句中同时为多个变量赋值。

...
1fn main() { 2 let (course, category) = ("Rust", "beginner"); // 同时赋多个值 3 println!("This is a {} course in {}.", category, course); // 打印值 4}

注意: 如果某个变量未被赋值或未被使用,编译器会发出警告。
若要消除此类警告,请在程序代码开头添加:
#[allow(unused_variables, unused_mut)]
但不推荐保留未赋值或未使用的变量。

测验

测试你对 Rust 中变量的理解!


现在你已经学习了变量的相关知识,接下来我们将学习变量的作用域和遮蔽机制。

Quiz

单选题

以下哪一项不是默认变量的属性?

1 / 2

Rust 程序

作用域与变量遮蔽