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 使用壽命