Hello Cargo!
Hoje iniciei meus estudos de rust, estava um pouco recioso com a linguagem, pois a um tempo ouvi algo como “ao escolher programar em rust você tá trocand segurança pela sua sanidade!!!”
Mas após uma breve pesquisa, a linguagem parece bem promissora, então resolvi dar uma chance.
Esse artigo é o primeiro de uma série documentando meu processo na leitura do livro “The Rust Programming Language”.
Old but Gold
Vou ignorar o processo de instação e ir direto para o hello world. Se você tem qualquer familiaridade com C vai entender as semelhanças.
Supondo que nomeei um arquivo de main.rs:
fn main(){
println!("Hello, world!");
}
executando:
rustc main.rs
./main
hello, world!
Bem parecido não é? um ponto importante é o ! ele é usado para indicar que aquele método é um macro, o que isso significa? ainda não sei, mas ao tentar executar o código sem esse sinal, recebo um erro dizendo que ele não é uma função.
Cargo FTW
O ponto importante, é que ninguém compila e executa usando o “rustc”, há um gerenciador de pascotes robusto chamado Cargo, o exemplo usado foi:
cargo new hello_cargo
Esse processo cria um pequeno projeto já com git configurado e uma pasta src/ com um arquivo main.rs e um .toml que gerencia os pacotes e dependências desse projeto.
- Podemos criar um projeto usando o comando
cargo new. - Podemos compilar um projeto usando o comando
cargo build. - Podemos compilar e executar um projeto em uma única etapa usando o comando
cargo run. - Podemos compilar um projeto sem gerar um binário para verificar se há erros usando o comando
cargo check. - Em vez de salvar o resultado da compilação no mesmo diretório do nosso código, o Cargo o armazena no diretório
target/debug. - Cargo build —release cria uma versão mais rápida, mas que leva mais tempo para compilar, é destinada a usuários finais e fica na pasta
target/release
Mais sobre o cargo no link