Inferência de Tipo
Parte da seção Fundamentals do Journey de Rust da Coddy — lição 12 de 75.
Em Rust, a inferência de tipos permite que o compilador deduza automaticamente o tipo de uma variável com base em seu valor e uso. Isso significa que muitas vezes você não precisa especificar explicitamente o tipo ao declarar uma variável, tornando seu código mais conciso e fácil de ler.
Por exemplo:
let x = 5;
// O Rust infere que x é um i32
let y = 3.14;
// O Rust infere que y é um f64
let message = "Hello, world!";
// O Rust infere que message é um &str (string)
let is_true = true;
// O Rust infere que is_true é um boolNestes exemplos, não especificamos os tipos de x, y, message e is_true. O compilador Rust inferiu automaticamente seus tipos com base nos valores atribuídos a eles.
A inferência de tipos não é apenas conveniente, mas também ajuda a prevenir erros. O compilador verifica como as variáveis são usadas e garante que os tipos inferidos sejam consistentes em todo o código. Se houver um conflito, o compilador gerará um erro.
Desafio
InicianteEscreva um programa em Rust que demonstre a inferência de tipos. Declare e inicialize as seguintes variáveis sem anotações de tipo explícitas:
- Uma variável chamada
quantitycom o valor10. - Uma variável chamada
pricecom o valor99.99. - Uma variável chamada
messagecom o valor"Coddy is awesome!". - Uma variável chamada
is_availablecom o valortrue.
Após declarar essas variáveis, use println!() para exibir seus valores no console. Observe como o Rust infere os tipos dessas variáveis com base em seus valores.
Folha de consulta
A inferência de tipos do Rust permite que o compilador deduza automaticamente os tipos das variáveis com base em seus valores, eliminando a necessidade de anotações de tipo explícitas em muitos casos.
let x = 5; // Rust infere i32
let y = 3.14; // Rust infere f64
let message = "Hello, world!"; // Rust infere &str
let is_true = true; // Rust infere boolO compilador verifica o uso das variáveis para garantir a consistência de tipos e gerará erros se houver conflitos.
Experimente você mesmo
fn main() {
// Declare as variáveis aqui
// Exibe os valores
println!("Quantity: {}", quantity);
println!("Price: {}", price);
println!("Message: {}", message);
println!("Is available: {}", is_available);
}Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentals
4Operadores Parte 1
Operadores AritméticosOperador de MóduloAtalhos AritméticosOperadores de ComparaçãoComparação de Strings7Entrada e Saída Básica
Exibindo no ConsoleLendo a Entrada do UsuárioRevisão - Até 120Revisão - Verdadeiro ou Falso5Operadores Parte 2
Operadores Lógicos Parte 1Operadores Lógicos Parte 2Recapitulação - Lógica SimplesOperadores Lógicos Parte 33Variáveis Parte 2
Declaração de TipoConvenções de NomenclaturaInferência de TipoRecapitulação - Inicializar VariáveisConversão de Tipo9Laços
For sobre SériesLaço WhileBreakContinueLaços AninhadosRótulos de LoopLoop InfinitoRecapitulação - Entrada Dinâmica