Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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
}

Дивіться також:

The const/static RFC, 'static lifetime