位置:首頁 > 高級語言 > Rust教學 > Rust常量

Rust常量

Rust常量

Rust有兩種不同類型,可以在任何範圍內,包括全局聲明的常量。這都需要顯式類型注解聲明:

  • const: 一個不可改變值(通常情況下)。
  • static: 有一個可能是可變的變量 'static 使用壽命。

一個特殊情況是 "string" 常量. 它可以直接被分配到一個 static 變量不需要修改,因為它的類型簽名: &'static str 具有所要求的使用壽命為 'static. 所有其他類型的引用必須特彆注明,以便它們完成 'static 使用壽命. 這看似微小,但因為需要明確標注隱藏以區彆。

// Globals are declared outside all other scopes.
static LANGUAGE: &'static str = "Rust";
const  THRESHOLD: i32 = 10;

fn is_big(n: i32) -> bool {
    // Access constant in some function
    n > THRESHOLD
}

fn main() {
    let n = 16;

    // Access constant in the main thread
    println!("This is {}", LANGUAGE);
    println!("The threshold is {}", THRESHOLD);
    println!("{} is {}", n, if is_big(n) { "big" } else { "small" });

    // Error! Cannot modify a `const`.
    THRESHOLD = 5;
    // FIXME ^ Comment out this line
}

另請參見:

 const/static RFC'static 使用壽命