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.
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
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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:
Essa estrutura será a base para os próximos projetos que desenvolveremos durante o treinamento.
Nesta aula, aprendemos a criar nosso primeiro projeto utilizando Go e conhecemos alguns conceitos fundamentais:
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: