¿Ya dominas lo básico? Un curso estructurado de Rust es la vía rápida para dar el salto.
Ver cursos de Rust en UdemyEnlace de afiliado. No te cuesta nada extra.
- 01Preparar el entorno (lo que necesitas)
- 02Tu primera salida (println!)
- 03Variables y mutabilidad (let / mut)
- 04Anotaciones de tipo y tipos básicos
- 05Condicionales (la expresión if)
- 06Repetir (el bucle for)
- 07Escribir tu propia función
- 08Repetir (while y loop)
- 09La propiedad, lo básico
- 10Préstamos (referencias, &)
- 11Trabajar con vectores (Vec)
- 12Estructuras (struct)
- 13enum y la expresión match
- 14El tipo Option (seguridad frente a null)
- 15El tipo Result y el manejo de errores
- 16Traits (comportamiento compartido)
- 17Genéricos
- 18Closures (funciones anónimas)
- 19Trabajar con texto (String)
- 20[Proyecto] Construye un mini sistema de inventario
Anotaciones de tipo y tipos básicos
En esta lección indicarás de forma explícita el tipo de cada variable.
El tipo se escribe detrás del nombre y separado por dos puntos: let score: i32 = 85;. Los tipos más habituales son i32 (entero de 32 bits), f64 (decimal de doble precisión), bool y String o &str para texto.
El código de ejemplo declara un entero y un decimal y los muestra en una sola línea con dos {}.
Aquí conviene entender algo: Rust infiere el tipo casi siempre, así que estas anotaciones suelen ser opcionales. Pero cuando el compilador no puede deducirlo —por ejemplo al recoger el resultado de collect()— es obligatorio decírselo. La otra sorpresa es que Rust no convierte tipos por su cuenta: sumar un i32 y un f64 directamente es un error de compilación, y hay que convertir de forma explícita con as f64.
En el trabajo real se anotan los tipos en las firmas de las funciones (donde son obligatorios y sirven de documentación) y se deja que la inferencia haga el resto dentro del cuerpo.
🧪 Este sitio no puede compilar ni ejecutar Rust directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).
