Primeiras aulas do curso Go: Iniciando com a linguagem do Google

Go: Iniciando com a linguagem do Google

Introduçao ao Go - Introdução

Seja bem-vindo ao curso de Go, a linguagem de programação do Google, aqui da Alura.

O Google estava com um problema, pois muitos dos seus sistemas eram feitos em C++ e em C, e o processo de compilar esses programas, para gerar um executável, era complicado e demorado. Com isso, os engenheiros do Google tiveram a ideia de criar uma nova linguagem de programação, surgindo daí o Go.

Essa linguagem, diferentemente de outras linguagens, como C, Python e Java, é uma linguagem moderna, visto que ela foi criada em 2009, aproximadamente 20 anos depois que a maioria das outras linguagens foi criada. E nesses 20 anos, a computação foi evoluindo, evoluções essas que foram incorporadas no Go.

A primeira dessas evoluções faz com que o processo de compilação de um programa em Go é bem rápido, justamente o problema do Google. Um outra questão é a modularização da linguagem, com as suas funcionalidades espalhadas em pacotes, que são importados na nossa aplicação conforme a nossa necessidade.

Além disso, a sua sintaxe tem em torno de 25 palavras-chave, ou seja, uma sintaxe bem curta, fazendo com que o nosso código fique simples de se entender. Apesar da linguagem ser simples, ela é bem convencionada, já que o Go foi feito para ser uma linguagem rápida de desenvolvimento, então há certas convenções (algumas delas forçadas pela linguagem) que fazem com que o foco do programador seja em desenvolver código, e não em discutir como ele deve ser feito.

Outra coisa interessante é o jeito com que o Go trabalha com concorrência, paralelismo da linguagem. Essa é uma parte avançada, que não é o nosso foco, que é a introdução à linguagem, vendo a sua sintaxe, convenções, pacotes, tudo isso criando um projeto, um monitorador de sites, para colocar todos os sites que administramos e ficar verificando se o site está online ou não, e guardar um log para sabermos o horário em que o site estava online ou offline.

Então, vamos criar uma aplicação capaz de se comunicar com os sites, e ficar monitorando para ver se eles estão online ou caíram.

Estão prontos? Então vamos começar!

Introduçao ao Go - Instalação do Go

Se queremos aprender a trabalhar com a linguagem de programação Go, primeiramente devemos instalá-la. Para isso, no site da linguagem (https://golang.org/), há um link de download (https://golang.org/dl/).

Então, basta fazer o download e instalar a última versão da linguagem para o nosso sistema operacional.

Para saber mais, disponibilizamos este exercício com mais detalhes da instalação para cada sistema operacional.

Ao término da instalação, o Go será habilitado para ser utilizado na linha de comando. Para verificar a sua instalação, executamos no terminal/linha de comando:

go version

Executando o comando acima, teremos uma saída parecida com esta:

go version go1.8.1 linux/amd64

Mas além da instalação do Go, devemos seguir outros padrões para trabalhar com essa linguagem.

Go Workspace

No momento da instalação é definido um local onde ficará todo o nosso código Go, esse local é o Go Workspace. Por padrão essa pasta deve ser chamada go e deve ficar na raiz do nosso usuário. Isso vale para todos os sistemas operacionais, ou seja, na pasta do nosso usuário, nós criamos a pasta go.

Além disso, o Go Workspace deve possuir três pastas. A primeira delas é a pkg, onde ficará os pacotes compartilhados das nossas aplicações, pois o Go é uma linguagem bastante modular, dependendo bastante de pacotes que vamos importando no nosso código, veremos isso mais à frente. Além da pasta pkg, também deve ter a pasta src, onde escreveremos o código fonte de cada aplicação, e a pasta bin, onde ficará os compilados do nosso código Go.

A estrutura final do Go Workspace ficará assim:

pasta-do-usuario/
└── go
    ├── bin
    ├── pkg
    └── src

Mas se quisermos que o Go Workspace seja em outro lugar, pode? Pode ser, mas por padrão o instalador do Go já espera que essa pasta esteja na raiz do usuário, então, para nos facilitar, vamos seguir os padrões da linguagem.

Editor de texto

Mas além disso, precisamos de um editor de texto que nos ajude a codificar em Go. Um editor de texto que é bastante integrado com a linguagem, que será utilizado no treinamento, é o Visual Studio Code.

Sabendo disso, podemos fazer o nosso primeiro programa em Go, o famoso Hello World. Então, dentro da pasta go/src, vamos criar a pasta hello. E através do Visual Studio Code, nós abrimos essa pasta e dentro dela criamos o programa hello.go.

Assim que criamos o arquivo, recebemos uma notificação do Visual Studio Code: The 'Go' extension is recommended for this file type. Ou seja, existem extensões do editor que nos facilita o trabalho com a linguagem. Ao clicar em Show Recommendations, nós vemos essas extensões, e uma delas é a Go, do autor lukehoban.

Nós podemos instalar essa extensão, clicando em Install e logo em seguida em Reload, para recarregarmos a janela. No momento em que a janela for recarregada, a extensão será habilitada, mas ela tem algumas dependências, conforme é exibida na notificação do Visual Studio Code. Então, basta clicar em Install All, para instalar todas as dependências, que facilitarão a nossa codificação em Go.

Por isso é uma recomendação utilizar o Visual Studio para programar Go, pois ele facilita muito o nosso processo. Algumas funcionalidade desse editor serão exploradas ao londo do treinamento

Após o término da instalação das dependências, no próximo vídeo vamos dar início ao nosso primeiro programa em Go, o Hello World.

Introduçao ao Go - Criando o Hello World

Para construirmos o nosso primeiro programa em Go, primeiramente devemos entender algumas instruções iniciais dele. Se queremos que o nosso programa seja um executável, ou seja, se queremos que depois o programa seja executado no nosso computador, devemos declarar o programa assim:

package main

Essa linha informa que o nosso programa será o principal pacote da nossa aplicação, e que o nosso código deve começar por ele. Além disso, todo programa principal tem a função principal. As funções em Go são declaradas com func, seguida do seu nome e os argumentos entre parênteses, com o bloco de código ficando entre chaves:

package main

func main() {

}

Uma das características da função principal é não retornar nada e nem receber argumento nenhum. Quando executamos o programa, essa função é iniciada, e quando ela é finalizada, o programa termina.

Mas como imprimimos a mensagem de Hello World?

Exibindo uma mensagem

Se queremos imprimir uma mensagem, devemos utilizar a função Println, mas para utilizá-la, devemos importá-la, do pacote fmt. Esse é um pacote de formatação, possuindo funções de impressão e escaneamento do texto:

package main

import "fmt"

func main() {

}

Com o pacote importado, podemos utilizar a função:

package main

import "fmt"

func main() {
    fmt.Println()
}

O fato da função Println estar com a primeira letra maiúscula pode causar uma estranheza para quem vem de uma outra linguagem de programação. Quando estamos trabalhando com Go, a função que vem de um pacote externo, ou seja, uma função que não está declarada no nosso arquivo, é utilizada com a primeira letra maiúscula. Nós chamamos o pacote externo (no nosso caso, o fmt), e a função com a primeira letra maiúscula (no nosso caso, Println). Isso é uma convenção da linguagem, que faz com que saibamos que a função veio de um pacote externo

Agora, falta somente passarmos a mensagem que queremos exibir como argumento para a função Println:

package main

import "fmt"

func main() {
    fmt.Println("Olá Mundo")
}

Resta agora executar esse programa.

Executando um programa em Go

Como Go é uma linguagem compilada, para executar um programa seu, devemos compilá-lo para um executável, e para isso, nós devemos utilizar o terminal/linha de comando.

Nele, nós entramos dentro da pasta go/src/hello e executamos o comando go build seguido do nome do programa que queremos executar:

go build hello.go

Caso não dê nenhum erro, ao verificar o conteúdo da pasta, temos o seguinte:

alura@alura-01:~/go/src/hello$ ls
hello  hello.go

Ou seja, o executável foi criado. Agora basta executá-lo:

alura@alura-01:~/go/src/hello$ ./hello 
Olá Mundo

Toda vez que alterarmos o nosso código, devemos compilá-lo para depois executá-lo, mas o Go é uma linguagem que facilita muita coisa para nós, e isso inclui o processo de compilação. Em vez de executar o go build, para depois rodar o executável gerado, podemos executar o comando go run seguido do nome do programa que queremos executar:

alura@alura-01:~/go/src/hello$ go run hello.go 
Olá Mundo, alunos!!!

O comando go run compila e executa o programa de uma vez só! Isso evita com que tenhamos sempre que executar dois comandos para executar um simples programa.

Terminal embutido do Visual Studio Code

Por último, estamos trabalhando com dois programas, o Visual Studio Code e o terminal, mas o Visual Studio Code já possui um terminal embutido! No menu superior, acessando View -> Integrated Terminal.

Nele, nós podemos trabalhar do mesmo jeito como estávamos trabalhando antes, com a facilidade de ter tudo em uma mesma tela, de programar Go sem sair do Visual Studio Code.

Sobre o curso Go: Iniciando com a linguagem do Google

O curso Go: Iniciando com a linguagem do Google possui 192 minutos de vídeos, em um total de 77 atividades. Gostou? Conheça nossos outros cursos de GoLang em Programação, ou leia nossos artigos de Programação.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda GoLang acessando integralmente esse e outros cursos, comece hoje!

  • 1017 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

Premium

  • 1017 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$75
à vista R$900
Matricule-se

Premium Plus

  • 1017 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$100
à vista R$1.200
Matricule-se

Max

  • 1017 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$120
à vista R$1.440
Matricule-se
Procurando planos para empresas?
Acesso por 1 ano
Estude 24h/dia onde e quando quiser
Novos cursos toda semana