Factor Virtual

O "Hello World" habitual

Este é um artigo muito simples, só para validar se está tudo a funcionar devidamente com o nosso ambiente e ir introduzindo conceitos.

JLJosé Longo 5 min de leitura 0
O "Hello World" habitual

O "Hello World" habitual

Não me batam, mas vai ser mesmo isso para já... Já alguém dizia que devagar se vai ao longe!

Bom, vamos começar por criar uma pasta para alojar os nossos trabalhos ao longo desta aprendizagem. Eu vou dar-lhe o nome de "curso-rust" mas podem utilizar o nome que entenderem. Abrindo uma janela de terminal no nosso sistema, a partir do local onde queremos criar o "espaço" para colocarmos os ficheiros relacionados iremos fazer 

# criar a pasta para os nossos ficheiros relacionados com a aprendizagem
mkdir "curso-rust"
cd "curso-rust"
# criar a pasta para o primeiro módulo e entrar nesta pasta
mkdir "modulo-00-meta-aprendizagem"
cd "modulo-00-meta-aprendizagem"

Nota: O meu sistema é em Windows. No entanto podem estar a utilizar Linux ou Mac OSX. Os comandos apresentados anteriormente irão funcionar em qualquer dos sistemas mas pode haver alturas em que irei apresentar caminhos de pastas e ficheiros. Neste caso deverão ser informados que a separação de pastas num caminho em Windows é feito com a barra "\" enquanto em Linux/Mac OSX a barra será "/". Deverão ter em atenção esta diferença e alterar as barras de acordo com o sistema. Sempre que perceber que existem diferenças entre os sistemas, tentarei referir as mesmas de forma clara.

A seguir iremos já usar uma ferramenta do Rust que é o "Cargo" para criar e inicializar um novo projeto. Para isso iremos fazer

# aqui estamos ainda dentro da pasta modulo-00...
cargo new p001-ola-rust

Ao fazermos enter iremos receber a seguinte saída:

Creating binary (application) `p001-ola-rust` package
note: see more `Cargo.toml` keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

De seguida vamos ver o que aconteceu fazendo

cd p001-ola-rust
# ou 'ls' em Linux ou Mac OSX
dir

Iremos obter algo parecido a

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d----          05/10/2026    16:27                src
-a---          05/10/2026    16:28            157 Cargo.lock
-a---          05/10/2026    16:27             84 Cargo.toml

Isto quer dizer que o cargo realizou algum trabalho de inicialização do projeto criando ficheiros padrão em que:

  • pasta src- em projetos simples é onde habitualmente irão residir os nosso ficheiros fonte de código
  • - dentro desta pasta existirá um ficheiro main.rs que é o ponto de entrada para o programa que imprime no ecrã "Hello World".
  • Cargo.toml - ficheiro de configurações e bibliotecas a utilizar que irá evoluir durante a vida do projeto de acordo com as necessidades do mesmo
  • Cargo.lock - mantem a estrutura de compilação e é gerado automaticamente não sendo para ser editado.
  • De referir que os ficheiros de código fonte em Rust têm ".rs" como extensão habitual e nome em "snake case" (caracteres minúsculos e as palavras devem ser separadas por um "_" ou seja um sublinhado).

Se na pasta do projeto fizermos cargo run iremos obter algo semelhante ao que apresentamos abaixo

Compiling p001-ola-rust v0.1.0 (....\modulo-00-meta-aprendizagem\p001-ola-rust)
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.33s
     Running `target\debug\p001-ola-rust.exe`
Hello, world!

sendo que o código que se encontra em main.rs é:

fn main() {
    println!("Hello, world!");
}

se alterarmos o que está neste ficheiro para

fn main() {

    println!("Olá pessoal!");

    println!("Consegui escrever a minha primeira linha de código em Rust!!!");

}

e fizermos novamente cargo run iremos obter algo como

   Compiling p001-ola-rust v0.1.0 (....\modulo-00-meta-aprendizagem\p001-ola-rust)
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.54s
     Running `target\debug\p001-ola-rust.exe`
Olá pessoal!
Consegui escrever a minha primeira linha de código em Rust!!!

Falando um pouco sobre o que está no código do programa, o fn main() é a função principal do programa — o ponto de entrada. O println! é uma macro (sim, com ponto de exclamação no fim) que imprime texto no ecrã. Pode ser colocada as vezes que quisermos e com textos diferentes... Podes experimentar se quiseres, eu experimentei! Certamente iremos falar mais sobre isto no futuro.

Não é muito, mas vamos falar mais um pouco da ferramenta "cargo" que usamos.

O Cargo é um gestor de pacotes e a ferramenta de compilação oficial do Rust. Todos os programadores em Rust vão ver esta ferramenta como um canivete suíço tratando de muitas das etapas de um projeto. Em resumo, as principais funções do Cargo são:

  • Criação de projetos - cria projetos com o comando cargo new criando uma estrutura inicial simples como vimos no projeto inicial que criamos;
  • Gestão de dependências - Descarrega, instala e atualiza automaticamente as bibliotecas externas (que são chamadas de crates, mas iremos certamente falar mais sobre isso no futuro) que o projeto utiliza que são referenciadas no ficheiro Cargo.toml;
  • Compilação automatizada - Pode compilar o programa e as suas dependências (bibliotecas) na ordem correta com o comando cargo build;
  • Execução e testes - Executa o projeto diretamente com cargo run (como ja vimos anteriormente) e corre todos os testes automatizados com cargo test

Isto é apenas um breve resumo sobre Cargo só para nos irmos integrando com as ferramentas de Rust de forma gradual.
No próximo artigo iremos a mais um projeto.

Para facilitar, criei um repositório no GitHub onde irão poder obter todos os ficheiros que iremos falar por aqui. Conseguem aceder ao mesmo aqui -> curso-rust

Partilhar:

Relacionados

Será Rust um caminho desafiante ?

Vamos aprender Rust ? Antes de começarmos com processos de instalações e escrever algum código, é importante perceber **onde estamos a meter os pés** neste percurso que muitos dizem complicado. Esta introdução muito simples tem como objetivo entregar algum contexto para entendermos porquê de Rust e porque o Rust funciona como funciona — e será assim que vamos embater tantas vezes no compilador - dizem (spoiler: dizem que dá luta, mas que isso é bom). Vamos ver...

JLJosé Longo 5 min 0

[ A1 ] Leituras

Uma lista de recursos de leitura que podem ser utilizados na aprendizagem da linguagem de programação Rust. Esta lista irá evoluindo gradualmente consoante novos recursos sejam encontrados. Se conhecer algum recurso que considere útil, poderá partilhar o mesmo nos comentários.

JLJosé Longo 1 min 0

Comentários (0)

Ainda sem comentários aprovados. Sê o primeiro a escrever!

Entra ou registar para deixar um comentário.

© 2026 Factor Virtual · feito à mão

Topo

Privacidade Cookies