Rust 变量怎么定义和使用?

文章导读
Previous Quiz Next 变量是程序可以操作的命名存储空间。简单来说,变量帮助程序存储值。Rust 中的变量与特定的数据类型相关联。数据类型决定了变量内存的大小和布局、可存储在该内存中的值范围以及可以对变量执行的操作集。
📋 目录
  1. A 命名变量的规则
  2. B 语法
  3. C 不可变
  4. D 可变
A A

Rust - 变量



Previous
Quiz
Next

变量是程序可以操作的命名存储空间。简单来说,变量帮助程序存储值。Rust 中的变量与特定的数据类型相关联。数据类型决定了变量内存的大小和布局、可存储在该内存中的值范围以及可以对变量执行的操作集。

命名变量的规则

在本节中,我们将学习命名变量的不同规则。

  • 变量名可以由字母、数字和下划线字符组成。

  • 它必须以字母或下划线开头。

  • 因为 Rust 是区分大小写的,大小写字母是不同的。

语法

在 Rust 中声明变量时,数据类型是可选的。数据类型会从赋给变量的值中推断出来。

声明变量的语法如下所示。

let variable_name = value;            // no type specified
let variable_name:dataType = value;   //type specified

示例

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:6: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;
让我们通过一个例子来理解这一点

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