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