Iniciante Fundamentos

Tipos de dados

Rust é fortemente tipado. Os tipos básicos se dividem em escalares (um valor) e compostos (vários valores). Aqui vemos os escalares e as tuplas.

Inteiros

Inteiros têm tamanho e sinal: i8, i16, i32, i64, e versões sem sinal u8, u32, etc. O padrão é i32.

fn main() {
    let a: i32 = -10;
    let b: u8 = 255;
    println!("{} {}", a, b);
}

Ponto flutuante

Para números com casas decimais use f64 (padrão) ou f32.

fn main() {
    let pi: f64 = 3.14159;
    println!("{}", pi);
}

Booleano

O tipo bool guarda true ou false.

fn main() {
    let ativo: bool = true;
    println!("{}", ativo);
}

Caractere

O tipo char representa um único caractere Unicode, entre aspas simples.

fn main() {
    let letra: char = 'R';
    let emoji: char = '♥';
    println!("{} {}", letra, emoji);
}

Tuplas

Tuplas agrupam valores de tipos diferentes:

fn main() {
    let pessoa: (&str, i32) = ("Ana", 30);
    let (nome, idade) = pessoa; // desestruturação
    println!("{} tem {} anos", nome, idade);
    println!("Primeiro: {}", pessoa.0);
}