4 - Criar e executar projeto

Olá, pessoal! Agora que nosso ambiente de desenvolvimento está configurado, chegou o momento de colocar a mão na massa e criar nosso primeiro projeto utilizando a linguagem Go.

Nesta aula, vamos criar um projeto simples chamado 01hello-world. Nosso objetivo, além de executar o tradicional “Hello World!”, é entender a estrutura inicial de um projeto Go e conhecer alguns dos elementos básicos que aparecerão durante todo o treinamento.

4.1 - Criando a pasta do treinamento

Primeiramente, vamos criar uma pasta para organizar todos os projetos que desenvolveremos durante o treinamento.

Na área de trabalho do computador, crie uma nova pasta chamada:

Treinamento Go

A ideia é utilizar essa pasta como nosso diretório principal. Dessa maneira, todos os projetos desenvolvidos durante o curso ficarão organizados em um único local.

Nossa estrutura inicialmente será:

Área de Trabalho
└── Treinamento Go

4.2 - Abrindo a pasta no VS Code

Agora vamos abrir o Visual Studio Code.

Dentro do VS Code, selecione a opção para abrir uma pasta e escolha a pasta Treinamento Go que acabamos de criar.

Depois de abrir a pasta, podemos observar o conteúdo através do painel Explorer, localizado no lado esquerdo da interface do VS Code.

É importante entender que estamos abrindo a pasta principal do treinamento, e não criando um projeto Go diretamente nela. Dentro dessa pasta teremos vários projetos independentes ao longo das aulas.

4.3 - Criando a pasta do primeiro projeto

No Explorador do VS Code, clique com o botão direito sobre a pasta Treinamento Go e selecione a opção para criar uma nova pasta.

Vamos chamar essa pasta de:

01hello-world

Agora nossa estrutura ficará desta maneira:

Treinamento Go
└── 01hello-world

Essa será a pasta onde ficará nosso primeiro projeto.

O número 01 no início do nome é uma escolha de organização. Conforme avançarmos no treinamento, podemos criar outros projetos utilizando uma numeração semelhante, facilitando a identificação e a ordem das aulas.

4.4 - Abrindo o terminal no VS Code

Com a pasta 01hello-world criada, precisamos abrir o terminal integrado do VS Code.

Podemos acessar o terminal através do menu:

Terminal > New Terminal

Também podemos utilizar o atalho correspondente ao nosso sistema operacional.

Antes de continuar, confira se o terminal está apontando para a pasta correta do projeto.

Podemos utilizar comandos como cd para navegar entre diretórios caso seja necessário.

O objetivo é que os próximos comandos sejam executados dentro da pasta:

01hello-world

4.5 - Inicializando o módulo Go

Agora chegamos a uma etapa muito importante: vamos inicializar o módulo do nosso projeto.

No terminal, execute:

go mod init 01hello-world

Esse comando cria o arquivo go.mod, que contém informações importantes sobre o módulo Go que estamos criando.

Depois de executar o comando, podemos observar que um novo arquivo foi criado dentro da pasta do projeto:

01hello-world
├── go.mod

O arquivo go.mod será muito importante durante o desenvolvimento de nossos projetos. Ele identifica o módulo e também será utilizado para controlar informações relacionadas às dependências utilizadas pela aplicação.

4.6 - O que é um módulo Go?

De maneira simples, podemos entender um módulo como uma coleção de pacotes Go relacionados que possuem um identificador próprio e informações sobre suas dependências.

Ao executar:

go mod init 01hello-world

estamos informando à ferramenta Go que aquela pasta será o início de um novo módulo chamado 01hello-world.

O conteúdo inicial do arquivo go.mod será semelhante a:

module 01hello-world

go 1.x

O número da versão apresentado na segunda linha dependerá da versão do Go instalada no seu computador.

Não precisamos decorar todas as informações do arquivo go.mod neste momento. Vamos aprofundar esse assunto posteriormente, quando trabalharmos com módulos e dependências.

4.7 - Criando o arquivo main.go

Agora vamos criar nosso primeiro arquivo de código.

No Explorador do VS Code, dentro da pasta 01hello-world, crie um novo arquivo chamado:

main.go

Nossa estrutura agora deverá ser semelhante a esta:

Treinamento Go
└── 01hello-world
    ├── go.mod
    └── main.go

O arquivo main.go será o ponto de entrada da nossa aplicação.

4.8 - Escrevendo nosso primeiro código

Dentro do arquivo main.go, vamos escrever nosso primeiro programa em Go:

// Pacote
package main


// Importações das bibliotecas
import "fmt"


// Função
func main() {
    fmt.Println("Hello World!")
}

Apesar de ser um programa pequeno, temos aqui alguns conceitos fundamentais da linguagem. Vamos entender cada parte dele.

4.9 - O pacote main

A primeira informação do nosso código é:

package main

Em Go, todo arquivo pertence a um pacote.

Neste primeiro projeto estamos utilizando o pacote chamado main. Esse pacote possui um significado especial quando estamos criando um programa executável.

Para uma aplicação executável em Go, o pacote main é utilizado em conjunto com a função main, que veremos a seguir.

4.10 - Importando a biblioteca fmt

Em seguida temos:

import "fmt"

A palavra-chave import é utilizada para importar pacotes que disponibilizam funcionalidades que queremos utilizar em nosso programa.

Neste exemplo estamos importando o pacote fmt.

O pacote fmt faz parte da biblioteca padrão do Go e possui funcionalidades relacionadas à formatação e impressão de dados.

É por meio dele que conseguiremos utilizar a função:

fmt.Println()

Mais adiante conheceremos diversos outros pacotes da biblioteca padrão e também aprenderemos a utilizar pacotes externos.

4.11 - A função main

Depois temos:

func main() {
    fmt.Println("Hello World!")
}

A palavra-chave func é utilizada para declarar uma função.

Nesse caso, estamos declarando a função chamada main.

Quando estamos criando um programa executável, a função main do pacote main representa o ponto de entrada da aplicação.

É a partir dela que nosso programa começa sua execução.

4.12 - Exibindo uma mensagem no terminal

Dentro da função main, temos:

fmt.Println("Hello World!")

Aqui estamos chamando a função Println do pacote fmt.

O ponto entre fmt e Println indica que estamos acessando uma função disponibilizada pelo pacote que importamos.

O texto:

"Hello World!"

é uma string que será enviada para a saída padrão do programa, normalmente o terminal.

4.13 - Executando nosso primeiro projeto

Agora vamos executar o programa.

Com o terminal aberto dentro da pasta do projeto, execute:

go run main.go

Se tudo estiver correto, teremos como resultado:

Hello World!

Pronto! Acabamos de criar e executar nosso primeiro programa em Go.

4.14 - Uma pequena alteração

Para praticar, vamos fazer uma pequena alteração no programa.

Troque:

fmt.Println("Hello World!")

por:

fmt.Println("Olá, mundo!")

Salve o arquivo e execute novamente:

go run main.go

Agora o resultado deverá ser:

Olá, mundo!

Essa pequena alteração já nos mostra algo importante: podemos modificar o código, salvar o arquivo e executar novamente para observar o comportamento da aplicação.

4.15 - Entendendo nossa estrutura

Ao final desta aula, nosso projeto deverá possuir uma estrutura semelhante a esta:

Treinamento Go
└── 01hello-world
    ├── go.mod
    └── main.go

Temos dois arquivos principais:

  • go.mod: contém informações sobre o módulo do projeto e suas dependências;
  • main.go: contém o código-fonte da nossa aplicação.

Essa estrutura será a base para os próximos projetos que desenvolveremos durante o treinamento.

4.16 - O que aprendemos nesta aula?

Nesta aula, aprendemos a criar nosso primeiro projeto utilizando Go e conhecemos alguns conceitos fundamentais:

  • Criar e organizar uma pasta para nossos projetos;
  • Abrir uma pasta utilizando o VS Code;
  • Criar a pasta de um novo projeto;
  • Inicializar um módulo utilizando go mod init;
  • Entender a finalidade inicial do arquivo go.mod;
  • Criar um arquivo main.go;
  • Declarar o pacote main;
  • Importar o pacote fmt;
  • Criar a função main;
  • Exibir informações no terminal utilizando fmt.Println;
  • Executar um programa utilizando go run.

Nosso primeiro projeto é extremamente simples, mas ele servirá como base para entendermos a estrutura dos programas Go.

Nas próximas aulas vamos começar a explorar a linguagem de maneira mais detalhada. Vamos entender como trabalhar com variáveis, tipos de dados e operações, deixando nossos programas cada vez mais interessantes.

Até a próxima aula!

Você pode acompanhar cada etapa descrita acima no vídeo a seguir: