探索 Rust 常量

Beginner

This tutorial is from open-source community. Access the source code

简介

在本实验中,我们将介绍 Rust 中常量的概念,常量可以使用 conststatic 关键字声明,并带有显式类型注释,且可以在任何作用域(包括全局作用域)中访问。

注意:如果实验未指定文件名,你可以使用任何你想要的文件名。例如,你可以使用 main.rs,并通过 rustc main.rs &&./main 进行编译和运行。

常量

Rust 有两种不同类型的常量,它们可以在包括全局作用域在内的任何作用域中声明。两者都需要显式的类型注释:

  • const:一个不可变的值(常见情况)。
  • static:一个可能可变的具有 'static 生命周期的变量。静态生命周期是推断出来的,不必指定。访问或修改可变的静态变量是 unsafe 的。
// 全局变量在所有其他作用域之外声明。
static LANGUAGE: &str = "Rust";
const THRESHOLD: i32 = 10;

fn is_big(n: i32) -> bool {
    // 在某个函数中访问常量
    n > THRESHOLD
}

fn main() {
    let n = 16;

    // 在主线程中访问常量
    println!("This is {}", LANGUAGE);
    println!("The threshold is {}", THRESHOLD);
    println!("{} is {}", n, if is_big(n) { "big" } else { "small" });

    // 错误!不能修改 `const`。
    THRESHOLD = 5;
    // FIXME ^ 注释掉这一行
}

总结

恭喜你!你已经完成了常量实验。你可以在 LabEx 中练习更多实验来提升你的技能。