Programação Rust para Iniciantes: Olá, Mundo

Beginner

This tutorial is from open-source community. Access the source code

Introdução

Bem-vindo(a) ao Hello, World. Este laboratório faz parte do Livro de Rust. Você pode praticar suas habilidades em Rust no LabEx.

Neste laboratório, você escreverá seu primeiro programa em Rust, que imprimirá o texto "Hello, world!" na tela.

Este é um Lab Guiado, que fornece instruções passo a passo para ajudá-lo a aprender e praticar. Siga as instruções cuidadosamente para completar cada etapa e ganhar experiência prática. Dados históricos mostram que este é um laboratório de nível iniciante com uma taxa de conclusão de 88%. Recebeu uma taxa de avaliações positivas de 100% dos estudantes.

Hello, World

Agora que você instalou o Rust, é hora de escrever seu primeiro programa em Rust. É tradicional, ao aprender uma nova linguagem, escrever um pequeno programa que imprime o texto Hello, world! na tela, então faremos o mesmo aqui!

Nota: Este livro assume familiaridade básica com a linha de comando. Rust não faz exigências específicas sobre sua edição ou ferramentas ou onde seu código reside, então, se você preferir usar um ambiente de desenvolvimento integrado (IDE) em vez da linha de comando, sinta-se à vontade para usar seu IDE favorito. Muitos IDEs agora têm algum grau de suporte ao Rust; verifique a documentação do IDE para obter detalhes. A equipe Rust tem se concentrado em habilitar um ótimo suporte a IDEs via rust-analyzer. Consulte o Apêndice D para obter mais detalhes.

Criando um Diretório de Projeto

Você começará criando um diretório para armazenar seu código Rust. Não importa para o Rust onde seu código reside, mas para os exercícios e projetos neste livro, sugerimos criar um diretório project em seu diretório home e manter todos os seus projetos lá.

Abra um terminal e insira os seguintes comandos para criar um diretório project e um diretório para o projeto "Hello, world!" dentro do diretório project.

Para Linux, macOS e PowerShell no Windows, insira o seguinte:

cd ~/project
mkdir hello_world
cd hello_world

Escrevendo e Executando um Programa Rust

Em seguida, crie um novo arquivo de código-fonte e chame-o de main.rs. Arquivos Rust sempre terminam com a extensão .rs. Se você estiver usando mais de uma palavra em seu nome de arquivo, a convenção é usar um sublinhado para separá-las. Por exemplo, use hello_world.rs em vez de helloworld.rs.

Agora, abra o arquivo main.rs que você acabou de criar e insira o código na Listagem 1-1.

Nome do arquivo: main.rs

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

Listagem 1-1: Um programa que imprime Hello, world!

Salve o arquivo e volte para a janela do seu terminal no diretório ~/project/hello_world. No Linux ou macOS, insira os seguintes comandos para compilar e executar o arquivo:

$ rustc main.rs
$ ./main
Hello, world!

Independentemente do seu sistema operacional, a string Hello, world! deve ser impressa no terminal. Se você não vir essa saída, consulte "Solução de problemas" para obter ajuda.

Se Hello, world! foi impresso, parabéns! Você oficialmente escreveu um programa Rust. Isso faz de você um programador Rust - bem-vindo!

Anatomia de um Programa Rust

Vamos analisar este programa "Hello, world!" em detalhes. Aqui está a primeira parte do quebra-cabeça:

fn main() {

}

Essas linhas definem uma função chamada main. A função main é especial: ela é sempre o primeiro código que é executado em todo programa Rust executável. Aqui, a primeira linha declara uma função chamada main que não possui parâmetros e não retorna nada. Se houvesse parâmetros, eles estariam dentro dos parênteses ().

O corpo da função está envolvido em {}. Rust exige chaves ao redor de todos os corpos de função. É um bom estilo colocar a chave de abertura na mesma linha da declaração da função, adicionando um espaço entre elas.

Nota: Se você deseja manter um estilo padrão em todos os projetos Rust, você pode usar uma ferramenta de formatação automática chamada rustfmt para formatar seu código em um estilo específico (mais sobre rustfmt no Apêndice D). A equipe Rust incluiu esta ferramenta com a distribuição Rust padrão, assim como rustc, então ela já deve estar instalada em seu computador!

O corpo da função main contém o seguinte código:

    println!("Hello, world!");

Esta linha faz todo o trabalho neste pequeno programa: ela imprime texto na tela. Existem quatro detalhes importantes a serem observados aqui.

Primeiro, o estilo Rust é indentar com quatro espaços, não uma tabulação.

Segundo, println! chama uma macro Rust. Se tivesse chamado uma função em vez disso, seria inserido como println (sem o !). Discutiremos as macros Rust com mais detalhes no Capítulo 19. Por enquanto, você só precisa saber que usar um ! significa que você está chamando uma macro em vez de uma função normal e que as macros nem sempre seguem as mesmas regras que as funções.

Terceiro, você vê a string "Hello, world!". Passamos esta string como um argumento para println!, e a string é impressa na tela.

Quarto, terminamos a linha com um ponto e vírgula (;), que indica que esta expressão acabou e a próxima está pronta para começar. A maioria das linhas de código Rust termina com um ponto e vírgula.

Compilação e Execução são Etapas Separadas

Você acabou de executar um programa recém-criado, então vamos examinar cada etapa do processo.

Antes de executar um programa Rust, você deve compilá-lo usando o compilador Rust, inserindo o comando rustc e passando o nome do seu arquivo de código-fonte, assim:

rustc main.rs

Se você tem experiência com C ou C++, notará que isso é semelhante a gcc ou clang. Após compilar com sucesso, Rust gera um executável binário.

No Linux, macOS e PowerShell no Windows, você pode ver o executável inserindo o comando ls no seu shell:

$ ls
main main.rs

A partir daqui, você executa o arquivo main, assim:

./main

Se seu main.rs for seu programa "Hello, world!", esta linha imprime Hello, world! no seu terminal.

Se você está mais familiarizado com uma linguagem dinâmica, como Ruby, Python ou JavaScript, pode não estar acostumado a compilar e executar um programa como etapas separadas. Rust é uma linguagem compilada antecipadamente (ahead-of-time compiled), o que significa que você pode compilar um programa e dar o executável para outra pessoa, e ela pode executá-lo mesmo sem ter o Rust instalado. Se você der a alguém um arquivo .rb, .py ou .js, ela precisa ter uma implementação Ruby, Python ou JavaScript instalada (respectivamente). Mas nessas linguagens, você só precisa de um comando para compilar e executar seu programa. Tudo é uma troca no design de linguagem.

Apenas compilar com rustc é bom para programas simples, mas à medida que seu projeto cresce, você vai querer gerenciar todas as opções e facilitar o compartilhamento do seu código. Em seguida, apresentaremos a ferramenta Cargo, que o ajudará a escrever programas Rust do mundo real.

Resumo

Parabéns! Você concluiu o laboratório Hello, World. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.