const y static

Puedes ver este capítulo en YouTube en inglés

Además de let, existen dos maneras más de declarar valores. const y static. Para estas declaraciones, Rust no realiza la inferencia de los tipos: es necesario declarar el tipo de los valores. Existen vamores que no cambian (const significa constante). La diferencia entre ellos es que:

  • const se utiliza para los valores que no cambian y el nombre se reemplaza por su valor, allí donde se usa.
  • static define una posición fija en memoria que puede actuar como una variable global.

Por ello, son casi lo mismo. Los programadores de Rust casi siempre utilizan valores constantes con const.

Por convención, las constantes se suelen escribir con todas las letras en mayúsculas, normalmente están fuera del main para que existan en todo el programas.

Dos ejemplos:

const NUMERO_DE_MESES: u32 = 12;
static ESTACIONES: [&str; 4] = ["Primavera", "Verano", "Otoño", "Invierno"];

fn main() {
    println!("{}", NUMERO_DE_MESES);
    println!("{:?}", ESTACIONES);
}