Константы
В Rust есть два типа констант, которые могут быть объявлены в любой области видимости, включая глобальную. Оба требуют явной аннотации типа:
const
: Неизменяемая переменная (в общем случае).static
: Возможно,изменяемая
переменная с временем жизни'static
. Статическое время жизни подразумевается и может не быть указано явно. Доступ или модификация изменяемой статической переменной — небезопасны (см.unsafe
).
// Константы объявлены в глобальной области видимости. static LANGUAGE: &str = "Rust"; const THRESHOLD: i32 = 10; fn is_big(n: i32) -> bool { // Получаем доступ к константе внутри функции n > THRESHOLD } fn main() { let n = 16; // Получаем доступ к константе внутри функции main println!("Это язык {}", LANGUAGE); println!("Установим предел, равный {}", THRESHOLD); println!("Число {} {} предела", n, if is_big(n) { "больше" } else { "меньше" }); // Ошибка! `const` нельзя изменить. THRESHOLD = 5; // ИСПРАВЬТЕ ^ Закомментируйте эту строчку }