Menu
Coddy logo textTech

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 bool

Nestes 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.

challenge icon

Desafio

Iniciante

Escreva 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 quantity com o valor 10.
  • Uma variável chamada price com o valor 99.99.
  • Uma variável chamada message com o valor "Coddy is awesome!".
  • Uma variável chamada is_available com o valor true.

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 bool

O 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);
}
quiz iconTeste seus conhecimentos

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