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áriosrc/lib.rs— raiz do crate de bibliotecasrc/bin/— binários adicionaistests/— 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.rsoulib.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
- Módulos e mod
- pub e visibilidade
- use e caminhos
- Crates e raiz do crate