Rust编程中的常量

Rust为我们提供了两种类型的常量。这些是-

  • const-不可更改的值

  • static-具有静态生存期的可能可变值。

如果我们尝试将另一个值分配给已声明的const值,则编译器将引发错误。

示例

下面显示的示例-

static LANGUAGE: &str = "nhooo-Rust";
const THRESHOLD: i32 = 10;
fn is_small(n: i32) -> bool {
   n < THRESHOLD
}
fn main() {
   //错误!无法修改const。
   THRESHOLD = 5;
   println!("一切正常!");
}

在上面的代码中,我们试图修改已经用const关键字声明的变量的值,这是不允许的。

输出结果

error[E0070]: invalid left-hand side of assignment
--> src/main.rs:12:15
|
12| THRESHOLD = 5;
| --------- ^
| |
| cannot assign to this expression

我们还可以访问在其他函数中声明的常量。

示例

下面显示的示例-

static LANGUAGE: &str = "nhooo-Rust";
const THRESHOLD: i32 = 11;
fn is_small(n: i32) -> bool {
   n < THRESHOLD
}
fn main() {
   let n = 19;
   println!("This is {}", LANGUAGE);
   println!("The threshold is {}", THRESHOLD);
   println!("{} is {}", n, if is_small(n) { "small" } else { "big" });
}

输出结果

This is nhooo-Rust
The threshold is 11
19 is big