Tu primer programa y la anatomía de un crate
Crea un ejecutable mínimo, cambia su salida y distingue el archivo fuente, el paquete y el crate que Cargo construye.
Tu primera tarea es cambiar un programa y comprobar que se ejecuta la versión que acabas de construir. Necesitas Cargo disponible y una terminal donde puedas crear una carpeta. Si cargo --version falla, vuelve a la preparación del entorno: ese fallo todavía no dice nada sobre tu comprensión del lenguaje.
Crea y ejecuta un programa
En una carpeta donde quieras guardar tu práctica, ejecuta:
cargo new primer_programacd primer_programacargo runCargo crea un paquete con un archivo Cargo.toml y un programa en src/main.rs. Al ejecutar cargo run, construye el programa si hace falta y después lo ejecuta. Verás los mensajes de Cargo y la salida del programa; tienen funciones distintas.
Abre src/main.rs y escribe:
fn main() { println!("Primer informe");}fn main define la función de entrada de este ejecutable. println! escribe una línea en la salida estándar; su ! indica que es una macro. Por ahora puedes usarla sin aprender a escribir macros.
Antes de ejecutar, predice la línea que producirá el programa. Guarda el archivo y ejecuta cargo run para contrastarla.
Relaciona fuente, construcción y ejecución
Cambia el mensaje por Informe actualizado y guarda. Modificar el fuente cambia el archivo que leerá el compilador; la versión ejecutable anterior no se modifica solo por guardar el texto.
Ejecuta de nuevo cargo run. Cargo detecta el cambio, reconstruye y ejecuta el programa actualizado. Comprueba la salida. Si conservaste el mensaje anterior, revisa qué archivo guardaste, en qué carpeta estás y qué comando ejecutaste.
Con cargo check puedes comprobar el código sin construir el ejecutable final ni ejecutar el programa. Que esa comprobación termine bien no significa que hayas observado la salida nueva.
Lee un diagnóstico pequeño
Sustituye temporalmente el contenido de main por:
fn main() { println!("Hola, {}!");}El formato pide un argumento que falta. Ejecuta cargo check y localiza el archivo, la línea y la explicación del diagnóstico. Corrígelo agregando el nombre:
fn main() { println!("Hola, {}!", "Ada");}Comprueba de nuevo y ejecuta. Resolver este caso muestra una primera forma de investigar: leer lo que exige la operación, localizar la diferencia y volver a comprobar.
Paquete y crate en este ejemplo
El paquete está definido por Cargo.toml. Su crate binario tiene aquí la raíz en src/main.rs y se construye como ejecutable. Un crate es una unidad de compilación y puede incluir varios módulos; no corresponde necesariamente a un único archivo.
Más adelante añadirás funciones y separarás código en módulos. Cuando necesites reutilizar lógica entre el ejecutable y sus pruebas, estudiarás también un crate biblioteca con raíz en src/lib.rs. Puedes completar esta primera tarea con un solo ejecutable.
Cierra la práctica
Comprueba que puedes cambiar el mensaje, anticipar la salida y obtenerla con cargo run. Luego distingue qué te permite observar cargo check y qué añade cargo run.
Si puedes ejecutar pero todavía no interpretar un diagnóstico, conserva ese punto de retorno para la siguiente práctica. Estas comprobaciones manuales no registran una finalización evaluada de la lección.