0Pricing
Learn Rust Coding · Aula

Crates e raiz do crate

Estrutura do projeto

Crates e raiz do crate é uma aula grátis de Learn Rust Coding no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Learn Rust Coding, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Learn Rust Coding inclui 4 aulas no total.

O que é um crate?

Um crate é a menor unidade com a qual o compilador Rust trabalha. Há dois tipos: um crate binário, compilado para um executável, e um crate de biblioteca, do qual outro código depende.

Binário e biblioteca

Um crate binário tem uma função main e produz um programa que você pode executar. Um crate de biblioteca não tem main; ele expõe itens reutilizáveis para outros crates.

  • Raiz binária: src/main.rs
  • Raiz da biblioteca: src/lib.rs

A raiz do crate

A raiz do crate é o arquivo-fonte a partir do qual o compilador começa. Ela fica no topo da árvore de módulos, e a palavra-chave crate em um caminho faz referência a ela.

fn main() {
    crate::greet();
}

fn greet() {
    println!("hello from the crate root");
}

Cargo e pacotes

Um pacote é um ou mais crates gerenciados pelo Cargo e descritos em Cargo.toml. Um pacote contém no máximo um crate de biblioteca e qualquer número de crates binários.

O Cargo cuida da compilação, dos testes e das dependências.

Um Cargo.toml mínimo

O manifesto declara o nome, a versão e as dependências do pacote. O Cargo o lê para saber como compilar seu projeto.

  • [package] — nome, versão e edição
  • [dependencies] — crates externos

Estrutura padrão de um projeto

O Cargo espera uma estrutura convencional:

  • src/main.rs — raiz do crate binário
  • src/lib.rs — raiz do crate de biblioteca
  • src/bin/ — binários adicionais
  • tests/ — testes de integração

Seguir a convenção significa não precisar de nenhuma configuração.

Os módulos ficam sob a raiz

A raiz do crate pode declarar módulos, que formam a árvore de módulos. Tudo o que você cria parte desse único arquivo raiz.

mod utils {
    pub fn shout(s: &str) -> String {
        s.to_uppercase()
    }
}

fn main() {
    println!("{}", utils::shout("crate"));
}

Dividindo em arquivos

Quando a raiz declara mod utils; com ponto e vírgula, o Cargo carrega src/utils.rs. O conteúdo do arquivo se torna o corpo desse módulo, mantendo uma única árvore em vários arquivos.

Usando uma biblioteca em um binário

Em um pacote que contém lib.rs e main.rs, o binário faz referência à biblioteca pelo nome do pacote. A biblioteca expõe itens pub que o binário utiliza.

Essa divisão mantém a lógica na biblioteca e o ponto de entrada enxuto.

Adicionando dependências

Execute cargo add rand ou edite [dependencies] em Cargo.toml. O Cargo baixa o crate de crates.io e o disponibiliza para use.

O Cargo também fixa versões exatas em Cargo.lock para permitir compilações reproduzíveis.

A visão geral

Do menor para o maior: módulo < crate < pacote. Os módulos organizam um crate; a raiz do crate ancora a árvore; o pacote e o Cargo unem tudo.

Verificação rápida

Teste seus conhecimentos sobre a estrutura de projetos.

Recapitulação

Você aprendeu sobre a estrutura de projetos:

  • Um crate é binário ou uma biblioteca
  • A raiz do crate (main.rs ou lib.rs) ancora a árvore de módulos
  • Um pacote agrupa crates e é descrito por Cargo.toml
  • O Cargo gerencia a estrutura, as compilações e as dependências

Perguntas Frequentes

A aula “Crates e raiz do crate” é grátis?

Sim — o texto completo de “Crates e raiz do crate” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Learn Rust Coding, atualize para CoddyKit PRO. O curso de Learn Rust Coding inclui 4 aulas no total.

O que vou aprender em “Crates e raiz do crate”?

Estrutura do projeto Você pratica Learn Rust Coding com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Learn Rust Coding?

Nenhuma experiência prévia é necessária. Learn Rust Coding no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.

Quanto tempo leva a aula “Crates e raiz do crate”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Learn Rust Coding?

Sim. Cada aula de Learn Rust Coding inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Módulos e mod
  2. pub e visibilidade
  3. use e caminhos
  4. Crates e raiz do crate
← Voltar para Learn Rust Coding