E aee jovens, tudo bem com vocês?
Neste post iremos entender um pouco sobre a ferramenta Cargo, criar um projeto Rust e entender a estrutura do projeto.
Então, lets'go!!!
Cargo
Cargo é uma ferramenta que instalamos junto com o Rustup, ela é muito completa, pois gerencia ciclo de vida de todo o programa Rust, faz a instalação das bibliotecas, de componentes, de programas no sistema operacional, gerencia as dependências, realiza a publicação do programa, gera documentação do sistema, e muitas outras coisas.
Para vermos qual a versão estamos usando executamos a linha abaixo:
cargo --version
Será retornado algo como:
cargo 1.44.1 (88ba85757 2020-06-11)
Vamos começar instalando uma ferramenta bem útil executando o comando abaixo no terminal:
cargo install cargo-play
Na Postagem passada criamos um arquivo chamado hello_world.rs, compilamos e depois o executamos. Vamos entrar no diretório onde deixamos o arquivo salvo e usar o cargo-play para executarmos de forma mais rápida:
cd /dev/workspace/rust
cargo play hello_world.rs
E pelo prompt de comando no Windows:
cd \dev\workspace\rust
cargo play hello_world.rs
**Onde o caminho deverá ser alterado para onde vocês deixaram o arquivo salvo
A saída será parecida com a seguinte:
Compiling p3mafgnxu8ftipvencq6xrvxevha6 v0.1.0 (/tmp/cargo-play.3MafGnxU8fTiPvENCq6XrvXeVhA6)
Finished dev [unoptimized + debuginfo] target(s) in 0.24s
Running `/tmp/cargo-play.3MafGnxU8fTiPvENCq6XrvXeVhA6/target/debug/p3mafgnxu8ftipvencq6xrvxevha6`
Hello World!
Desta forma conseguimos testar os arquivos, executar scripts escritos em Rust de um jeito simples.
Projeto Rust
Para criarmos um projeto, utilizaremos o comando:
cargo new hello_cargo
Se tudo ocorrer bem teremos o retorno:
Created binary (application) `hello_cargo` package
Vamos entrar no diretório criado e logo em seguida abrir ele no VS Code, com o comando:
cd hello_cargo
code .
O projeto será criado com a seguinte estrutura:
.
├── Cargo.toml
└── src
└── main.rs
Ao olharmos os arquivos criados, teremos o pacote src que é onde o Cargo espera que seus arquivos Rust estejam, automaticamente cria-se pra gente um arquivo main.rs dentro deste pacote, se o abrirmos veremos o seguinte conteúdo:
fn main() {
println!("Hello, world!");
}
Como este conteúdo é praticamente igual ao que já vimos, não vou explicar novamente, se tiverem dúvidas por favor acessem esse link.
Na raiz do projeto também foi criado o arquivo Cargo.toml e ao abrirmos teremos o seguinte conteúdo:
[package]
name = "hello_cargo"
version = "0.1.0"
authors = ["Richard de Jesus <jdr.richard@gmail.com>"]
edition = "2018"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
A extensão toml significa (Tom’s Obvious, Minimal Language) e este é o arquivo de configurações do Cargo.
A primeira linha [package]
é um cabeçalho de sessão, onde abaixo temos 4 linhas que por padrão definem as informações de configuração que o Cargo precisa para compilar seu programa:
- O nome do programa
- A versão do programa
- O autor
- A edição do Rust
O seu nome e seu e-mail são recuperados do seu ambiente, e pode mudar de acordo com a sua vontade.
A última linha [dependencies]
é o início de uma seção para você listar qualquer uma das dependências que o seu projeto precise. Na Rust, pacotes de código são chamados de crates . Para este exemplo não precisaremos utilizar uma outra crate, mas veremos em outra postagem.
Build e execução do projeto
Podemos utilizar o comando cargo build
para gerarmos o build da aplicação, este comando gerará um arquivo executável em target/debug/hello_cargo (ou target\debug\hello_cargo.exe no Windows). Se executarmos o arquivo gerado, teremos a seguinte saída:
Hello, world!
Mas, também podemos utilizar o comando cargo run
para compilarmos e já executarmos o programa em seguida. Se o projeto já tiver sido compilado e não tiver tido nenhuma alteração em algum de seus arquivos, ao executar o comando o sistema rodará mas não será compilado novamente, pois o Cargo é inteligente o bastante para não compilar um arquivo que já foi compilado anteriormente.
Teremos uma saída parecida com a abaixo:
Compiling hello_cargo v0.1.0 (\dev\workspace\rust\hello_cargo)
Finished dev [unoptimized + debuginfo] target(s) in 1.99s
Running `target\debug\hello_cargo.exe`
Hello, world!
O Cargo também tem o comando cargo check
. Este comando checa o código mas não produz um executável. Ele é uma forma rápida de checarmos se está tudo ok.
Para gerar uma versão final do programa usaremos o comando cargo build --release
pois dessa forma ele será compilado com otimizações, deixando o sistema ainda melhor para ser utilizado em produção.
Vou adicionar o fonte desta postagem no Github, segue o link: Aprendendo Rust
Quaisquer dúvidas ou sugestões para que eu melhore nas postagens deixe um comentário, e continue acompanhando os próximos posts.
Top comments (0)