En esta sección, aprenderemos sobre la sintaxis y la estructura básica de un programa en Rust. Este conocimiento es fundamental para escribir y entender código en Rust. Cubriremos los siguientes temas:
- Estructura de un programa en Rust
- Comentarios
- Variables y constantes
- Tipos de datos básicos
- Operadores
- Control de flujo básico
- Estructura de un Programa en Rust
Un programa en Rust generalmente se compone de funciones, con la función main
siendo el punto de entrada. Aquí hay un ejemplo básico:
Explicación:
fn main() { ... }
: Define la función principal del programa.println!("Hola, Mundo!");
: Imprime "Hola, Mundo!" en la consola.println!
es una macro que se usa para imprimir texto.
- Comentarios
Los comentarios son esenciales para documentar el código. Rust soporta dos tipos de comentarios:
-
Comentarios de una sola línea:
// Este es un comentario de una sola línea
-
Comentarios de múltiples líneas:
/* Este es un comentario de múltiples líneas */
- Variables y Constantes
Variables
En Rust, las variables son inmutables por defecto. Para declarar una variable mutable, se usa la palabra clave mut
.
fn main() { let x = 5; // Variable inmutable let mut y = 10; // Variable mutable y = 15; // Modificando la variable mutable }
Constantes
Las constantes se declaran usando la palabra clave const
y deben tener un tipo explícito.
Explicación:
let x = 5;
: Declara una variable inmutablex
con el valor5
.let mut y = 10;
: Declara una variable mutabley
con el valor10
.const MAX_POINTS: u32 = 100_000;
: Declara una constanteMAX_POINTS
de tipou32
con el valor100000
.
- Tipos de Datos Básicos
Rust es un lenguaje de tipado estático, lo que significa que el tipo de cada variable debe ser conocido en tiempo de compilación. Aquí hay algunos tipos de datos básicos:
- Enteros:
i8
,i16
,i32
,i64
,i128
,u8
,u16
,u32
,u64
,u128
- Flotantes:
f32
,f64
- Booleanos:
bool
- Caracteres:
char
Ejemplo:
fn main() { let a: i32 = 10; // Entero de 32 bits let b: f64 = 3.14; // Flotante de 64 bits let c: bool = true; // Booleano let d: char = 'R'; // Carácter }
- Operadores
Rust soporta los operadores aritméticos, de comparación y lógicos comunes.
Operadores Aritméticos
- Suma:
+
- Resta:
-
- Multiplicación:
*
- División:
/
- Módulo:
%
Ejemplo:
fn main() { let sum = 5 + 10; // 15 let difference = 95.5 - 4.3; // 91.2 let product = 4 * 30; // 120 let quotient = 56.7 / 32.2; // 1.76 let remainder = 43 % 5; // 3 }
Operadores de Comparación
- Igual a:
==
- No igual a:
!=
- Mayor que:
>
- Menor que:
<
- Mayor o igual que:
>=
- Menor o igual que:
<=
Ejemplo:
fn main() { let is_equal = 5 == 5; // true let is_not_equal = 5 != 4; // true let is_greater = 5 > 4; // true let is_less = 4 < 5; // true let is_greater_or_equal = 5 >= 5; // true let is_less_or_equal = 4 <= 5; // true }
Operadores Lógicos
- Y lógico:
&&
- O lógico:
||
- No lógico:
!
Ejemplo:
fn main() { let and = true && false; // false let or = true || false; // true let not = !true; // false }
- Control de Flujo Básico
Condicionales
Rust usa if
para condicionales.
fn main() { let number = 6; if number % 4 == 0 { println!("El número es divisible por 4"); } else if number % 3 == 0 { println!("El número es divisible por 3"); } else if number % 2 == 0 { println!("El número es divisible por 2"); } else { println!("El número no es divisible por 4, 3 o 2"); } }
Bucles
Rust soporta varios tipos de bucles: loop
, while
, y for
.
loop
fn main() { let mut counter = 0; loop { counter += 1; if counter == 10 { break; } } println!("Contador: {}", counter); }
while
fn main() { let mut number = 3; while number != 0 { println!("{}!", number); number -= 1; } println!("¡Despegue!"); }
for
fn main() { let a = [10, 20, 30, 40, 50]; for element in a.iter() { println!("El valor es: {}", element); } }
Ejercicio Práctico
Ejercicio 1
Escribe un programa en Rust que haga lo siguiente:
- Declare una variable mutable
x
con el valor10
. - Use un bucle
while
para reducir el valor dex
en1
hasta quex
sea0
. - Imprima el valor de
x
en cada iteración del bucle.
Solución
fn main() { let mut x = 10; while x != 0 { println!("x: {}", x); x -= 1; } println!("¡x ha llegado a 0!"); }
Conclusión
En esta sección, hemos cubierto la sintaxis y la estructura básica de un programa en Rust. Ahora deberías tener una comprensión fundamental de cómo se estructuran los programas en Rust, cómo declarar variables y constantes, y cómo usar operadores y control de flujo básico. En el próximo módulo, profundizaremos en conceptos más avanzados como la propiedad y el préstamo.
Curso de Programación en Rust
Módulo 1: Introducción a Rust
- ¿Qué es Rust?
- Configuración del Entorno de Rust
- Programa "Hola, Mundo!"
- Sintaxis y Estructura Básica