Constantes
A Rust tem dois tipos diferentes de constantes que podem ser declarados em qualquer âmbito incluindo global. Ambos exigem anotação de tipo explícita:
const
: Um valor não modificável (o caso comum).static
: Uma variável possivelmente mutável com a vida útil de'static
.- A vida útil estática é inferida e não precisa de ser especificada.
- O acesso ou modificação duma variável estática mutável é
unsafe
.
// As globais são declaradas fora de todos os outros âmbitos.static LANGUAGE: &str = "Rust";const THRESHOLD: i32 = 10;fn is_big(n: i32) -> bool {// Acessar constante em alguma funçãon > THRESHOLD}fn main() {let n = 16;// Acessar constante na linha principalprintln!("This is {}", LANGUAGE);println!("The threshold is {}", THRESHOLD);println!("{} is {}", n, if is_big(n) { "big" } else { "small" });// Erro! Não possível modificar uma `const`.THRESHOLD = 5;// FIXME ^ Comente esta linha}