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 inmutablexcon el valor5.let mut y = 10;: Declara una variable mutableycon el valor10.const MAX_POINTS: u32 = 100_000;: Declara una constanteMAX_POINTSde tipou32con 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
xcon el valor10. - Use un bucle
whilepara reducir el valor dexen1hasta quexsea0. - Imprima el valor de
xen 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
