Ferrugem - Constante

Constantes representam valores que não podem ser alterados. Se você declarar uma constante, não há como seu valor mudar. A palavra-chave para usar constantes éconst. As constantes devem ser digitadas explicitamente. A seguir está a sintaxe para declarar uma constante.

const VARIABLE_NAME:dataType = value;

Convenção de Nomenclatura Rust Constant

A convenção de nomenclatura para constantes é semelhante à das variáveis. Todos os caracteres em um nome de constante geralmente estão em maiúsculas. Ao contrário de declarar variáveis, olet palavra-chave não é usada para declarar uma constante.

Usamos constantes em Rust no exemplo abaixo -

fn main() {
   const USER_LIMIT:i32 = 100;    // Declare a integer constant
   const PI:f32 = 3.14;           //Declare a float constant

   println!("user limit is {}",USER_LIMIT);  //Display value of the constant
   println!("pi value is {}",PI);            //Display value of the constant
}

Constantes v / s Variáveis

Nesta seção, aprenderemos sobre os fatores de diferenciação entre constantes e variáveis.

  • Constantes são declaradas usando o const palavra-chave enquanto as variáveis ​​são declaradas usando o let palavra-chave.

  • Uma declaração de variável pode opcionalmente ter um tipo de dados, enquanto uma declaração de constante deve especificar o tipo de dados. Isso significa que const USER_LIMIT = 100 resultará em um erro.

  • Uma variável declarada usando o letpalavra-chave é por padrão imutável. No entanto, você tem a opção de alterá-lo usando omutpalavra-chave. As constantes são imutáveis.

  • As constantes podem ser definidas apenas para uma expressão constante e não para o resultado de uma chamada de função ou qualquer outro valor que será calculado em tempo de execução.

  • As constantes podem ser declaradas em qualquer escopo, incluindo o escopo global, o que as torna úteis para valores que muitas partes do código precisam conhecer.

Sombreamento de variáveis ​​e constantes

Rust permite que os programadores declarem variáveis ​​com o mesmo nome. Nesse caso, a nova variável substitui a variável anterior.

Vamos entender isso com um exemplo.

fn main() {
   let salary = 100.00;
   let salary = 1.50 ; 
   // reads first salary
   println!("The value of salary is :{}",salary);
}

O código acima declara duas variáveis ​​pelo nome salário. A primeira declaração recebe 100,00, enquanto a segunda declaração recebe o valor 1,50. A segunda variável sombreia ou oculta a primeira variável enquanto exibe a saída.

Resultado

The value of salary is :1.50

Rust oferece suporte a variáveis ​​com diferentes tipos de dados durante o sombreamento.

Considere o seguinte exemplo.

O código declara duas variáveis ​​pelo nome uname. A primeira declaração é atribuída a um valor de string, enquanto a segunda declaração é atribuída a um inteiro. A função len retorna o número total de caracteres em um valor de string.

fn main() {
   let uname = "Mohtashim";
   let uname = uname.len();
   println!("name changed to integer : {}",uname);
}

Resultado

name changed to integer: 9

Ao contrário das variáveis, as constantes não podem ser sombreadas. Se as variáveis ​​no programa acima forem substituídas por constantes, o compilador gerará um erro.

fn main() {
   const NAME:&str = "Mohtashim";
   const NAME:usize = NAME.len(); 
   //Error : `NAME` already defined
   println!("name changed to integer : {}",NAME);
}