constants
У Rust є два різні типи констант, які можна оголошувати в будь-якій області видимості включно із глобальною. Обидва вимагають явного зазначення типу:
const: незмінне значення (загальний випадок).static: можлива змінна з часом життя'static. Час життя static виводиться і його не потрібно вказувати. Доступ до змінної static або її зміна єunsafe.
// Globals are declared outside all other scopes.
static LANGUAGE: &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
}