Tipos de datos - Tylung/rust-apuntes GitHub Wiki

Para definir un tipo de dato en una variable en Rust, se colocan : despúes del nombre de la variable

let num = 21;
// el compilador puede inferir el tipo de dato pero no se recomienda hacerlo
// ya que podría estar ocupando mas espacio en memoria del que es necesario, ya que pondría de tamaño un i32

let num_explicito: u8 = 21;
// se le indica el tamaño de la variable de manera explicita 
// esta variable es de tipo entero sin signo con tamaño de 8 bits, puede llegar hasta el 255 

Tipo de Dato entero

Los enteros en Rust se definen con signo o sin signo

Signed

Los numeros con signo se definen de la siguiente manera

let num_signed: i8 = -64;

Existen varios tamaños de signed:

i8 con 8 bits de tamaño i16 con 16 bits de tamaño i32 con 32 bits de tamaño i64 con 64 bits de tamaño i128 con 128 bits de tamaño isize tamaño del puntero

Unsigned

Los numeros que no tienen signo se definen de la siguiente manera

let num_unsigned: u8 = 64;

Existen varios tamaños de signed:

u8 con 8 bits de tamaño u16 con 16 bits de tamaño u32 con 32 bits de tamaño u64 con 64 bits de tamaño u128 con 128 bits de tamaño usize tamaño del puntero

El entero predeterminado

let entero_predeterminado = 7;   // `i32`

Tipo de Dato coma flotante

Los numeros de coma flotante son aquellos que tienen decimales y solo hay dos tipos de coma flotante los de 32 bits y los de 64 bits

Ejemplo de numeros de coma flotante en Rust:

fn main() {
    let x = 2.0; // f64

    let y: f32 = 3.0; // f32
}

Tipo de Dato coma flotante

Los numeros de coma flotante son aquellos que tienen decimales y solo hay dos tipos de coma flotante los de 32 bits y los de 64 bits

Ejemplo de numeros de coma flotante en Rust:

fn main() {
    let x = 2.0; // f64

    let y: f32 = 3.0; // f32
}

Tipo de dato Caracter

El tipo de dato caracter es el mas primitivo del lenguaje, nos permite tener un valor de una letra o caracter Cuando declaramos un char, lo especificamos con las comillas simples '' en vez de las "" comillas dobles con las cadenas de caracteres

Ejemplo del tipo caracter o char:

fn main() {
    let c = 'z';
    let z: char = 'ℤ'; // explicitamente le decimos que es un char
    let heart_eyed_cat = '😻'; // también rust acepta caracteres unicode
}