Volver a la página principal
lunes 5 agosto 2024
9

¿Qué es un crate en Rust?

Tipos de Crates

Existen dos tipos principales de crates en Rust:

1. Crates de biblioteca (Library Crates): Estos crates contienen código que se puede reutilizar en otros programas o crates. No producen un ejecutable directamente. Los crates de biblioteca suelen tener la extensión .rlib cuando son compilados.

2. Crates ejecutables (Binary Crates): Estos crates generan un archivo ejecutable y suelen contener una función main. Son los crates que se ejecutan directamente en el sistema operativo.

Estructura de un Crate

Cada crate en Rust tiene un archivo de configuración llamado Cargo.toml. Este archivo contiene información sobre el crate, como su nombre, versión, dependencias y otras configuraciones necesarias para su compilación y distribución. Además, el código fuente del crate generalmente se organiza en uno o varios archivos en un directorio src.

Ejemplo de Cargo.toml

[package]
name = "mi_crate"
version = "0.1.0"
edition = "2021"

[dependencies]
serde = "1.0"

En este ejemplo, mi_crate es el nombre del crate, y se declara una dependencia a la biblioteca serde.

Módulos dentro de un Crate

Dentro de un crate, el código puede organizarse en módulos para mantener la estructura clara y manejable. Por ejemplo, el archivo principal main.rs (para crates ejecutables) o lib.rs (para crates de biblioteca) puede contener varios módulos:

mod saludo {
    pub fn decir_hola() {
        println!("¡Hola, mundo!");
    }
}

fn main() {
    saludo::decir_hola();
}

En este ejemplo, el crate tiene un módulo llamado saludo con una función pública decir_hola, que es llamada desde la función main.

Gestión de Crates con Cargo

Rust utiliza una herramienta llamada Cargo para gestionar crates y sus dependencias. Cargo facilita la creación, compilación y publicación de crates en crates.io, el registro de paquetes de Rust. Con comandos como cargo new, cargo build y cargo publish, los desarrolladores pueden manejar todo el ciclo de vida de sus proyectos en Rust.

Comandos básicos de Cargo

  • cargo new mi_crate - Crea un nuevo crate.
  • cargo build - Compila el crate.
  • cargo run - Compila y ejecuta el crate (si es un crate ejecutable).
  • cargo test - Ejecuta las pruebas del crate.
  • cargo publish - Publica el crate en crates.io.
Etiquetas:
rust
Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer