Todo programa ejecutable en Rust requiere una función llamada main. Esta función actúa como el punto de entrada obligatorio; sin ella, el compilador no sabrá dónde comienza la ejecución del código. El proceso de transformación de tu código en un programa real se realiza mediante rustc, el compilador de Rust, que toma el archivo fuente (con extensión .rs) y genera un archivo binario nativo ejecutable para tu sistema operativo.

Una pieza clave en el aprendizaje inicial es println!. A diferencia de las funciones estándar, las macros en Rust se identifican por un signo de exclamación !. Se utilizan macros para tareas que requieren una lógica de expansión compleja durante la compilación, como el formateo de texto con un número variable de argumentos; intentar usar una función normal para esto complicaría la gestión de memoria y tipos.

Para mantener el código legible y seguir los estándares de la comunidad, Rust impone convenciones de nombrado estrictas: se utiliza snake_case (letras minúsculas separadas por guiones bajos) para declarar funciones y variables, y PascalCase (cada palabra iniciando con mayúscula) para tipos de datos como estructuras. Además, el código se organiza mediante declaraciones use para importar funcionalidades, módulos y funciones. Para documentar el código, puedes usar comentarios de línea (//), de bloque (/* */) o comentarios de documentación (///), este último especializado para generar documentación técnica profesional.

/// Este es un comentario de documentación para la estructura Saludo.
struct Saludo;

// Esta función imprime un mensaje personalizado en la consola.
fn imprimir_mensaje(texto: &str) {
    /* println! es una macro, por eso lleva el signo '!'.
       Se usa para imprimir texto formateado en la terminal. */
    println!("{}", texto);
}

fn main() {
    // Definición de una variable local usando snake_case.
    let mensaje_bienvenida = "¡Hola, Rust!";
    
    // Llamada a la función con la variable definida.
    imprimir_mensaje(mensaje_bienvenida);

    // Instancia de la estructura Saludo usando PascalCase.
    let _instancia_saludo = Saludo;
}

Explicación del Código

  • struct Saludo: Define una estructura de datos siguiendo la convención PascalCase.
  • fn imprimir_mensaje: Es una función declarada en snake_case que acepta un parámetro de tipo referencia a cadena (&str).
  • println!: La macro encargada de la salida por consola; el símbolo ! la distingue de una función.
  • let mensaje_bienvenida: Declara una variable local utilizando la convención snake_case.
  • fn main: El punto de entrada obligatorio donde comienza la ejecución del programa.
  • let _instancia_saludo: Crea una instancia de la estructura Saludo. El guion bajo inicial (_) se usa para evitar que el compilador de Rust emita una advertencia al no usar la variable.

5