Developer Experience
15
min de leitura
1 de julho de 2020

Introdução ao Golang

Morvana Bonin
Backend Software Engenheiro com uma forte paixão por padrões de design, código limpo e arquitetura software .
Mais sobre o autor

* artigo desenvolvido em parceria com Andreia Camila da Silva

Golang ou simplesmente Go é uma linguagem de programação open source criada na Google em 2007 por Robert Grieserer (V8), Rob Pike e Ken Thomps (UNIX & UTF-8), mas seu anúncio só foi feito em 2009 e sua versão 1.0 saiu em 2012.

Embora o idioma já tenha mais de 10 anos, só recentemente ouvimos mais sobre ele, especialmente com seu uso sendo adotado pelo software , comum e amplamente utilizado, como Docker e Kubernetes, desenvolvidos no idioma.

A estrutura da língua Go é muito semelhante à da língua C, mas sua curva de aprendizado é mais simples. Go é uma linguagem criada para aproveitar ao máximo os computadores com recursos multi-core, facilitando assim a compilação de código de forma eficiente e naturalmente cooperativa com as abstrações dos sistemas operacionais atuais.

Instalação de Golang

Uma observação antes de entrar na parte de instalação, é importante saber que para dar os primeiros passos em Go não é necessário tê-la instalada em seu ambiente, é possível “brincar” e dar os primeiros passos com a linguagem fazendo um Hello World! por dois caminhos e aprender mais sobre a sintaxe da linguagem, são eles: o [a tour by Go] (https://go-tour-br.appspot.com e também o [Playground Go] (https://play.golang.org).

A instalação de Go é tão simples quanto a facilidade em aprender a linguagem e é possível fazê-la nos S.O Linux, macOS e Windows.

A versão estável utilizada para a instalação e escrita deste artigo é a go1.14.4, é possível no momento em que se esteja lendo este artigo a versão esteja mais atualizada, aconselha-se ver no site oficial da linguagem na parte de downloads https://golang.org/dl/

Linux

Para completar a instalação, você precisa fazer o download do binário Go. Você pode usar os comandos curl ou wget.

/code
curl -O https://storage.googleapis.com/golang/go1.14.4.linux-amd64.tar.gz
/code 

Verifique o .tar usando o sha256sum

/code
sha256sum go1.14.4.linux-amd64.tar.gz
/code 

Utilizando o comando a seguir, extraia dentro do diretório /usr/local para fazer a instalação da distribuição Go

/code
$ sudo tar -C /usr/local -xzf go1.14.4.linux-amd64.tar.gz
/code 

Você precisa exportar o arquivo go and bin, abrir ~/.profile em um editor

/code
$ sudo vim ~/.perfil
/code

Colar ou escrever estas duas linhas no final do arquivo

/code
export PATH=$PATH:/usr/local/go/bin
/code 

Salve o arquivo e recarregue-o com o seguinte comando

/code
source ~/.profile
/code

Para testar a instalação, basta executar o comando

/code
$ go version
/code

macOS

Baixe a versão estável e recente do pacote binário Go para MacOS. Como no Linux, use o comando curl

/code
curl -o golang.pkg https://dl.google.com/go/go1.14.4.darwin-amd64.pkg
/code

Para instalá-lo, basta clicar duas vezes no arquivo baixado para iniciar o assistente de instalação ou usar a seguinte linha de comando

/code
sudo open golang.pkg
/code

Ao instalar o pacote, o mesmo já deve criar e colocar o diretório /usr/local/go/bin em sua variável de ambiente PATH. Pode ser necessário apenas reiniciar sessões de terminal abertas para que a mudança tenha efeito, caso contrário, é necessário seguir passos semelhantes aos dados anteriormente na sessão de instalação do Linux. Abrir o arquivo ~/.perfil em um editor

/code
$ vi ~/.profile
/code

Colar ou escrever estas linhas no arquivo

/code
export GOROOT=/usr/local/go
export PATH=$GOROOT/bin:$PATH
/code 

GOROOT é o local onde o pacote Go é instalado em seu sistema. No final, a exportação PATH define a variável para acessar todo o sistema binário. Para testar a instalação, basta executar o seguinte comando

/code
$ go version
/code

Windows

Para usuários Windows, são fornecidas duas opções de instalação (além da instalação a partir da fonte): um arquivo zip que requer que você defina algumas variáveis de ambiente, e um instalador MSI que configura sua instalação automaticamente.

Para o arquivo .zip, baixe o arquivo em https://golang.org/dl/, depois extraia o conteúdo para o diretório de sua escolha (a sugestão dada pela documentação é c:\Go)

Lembre-se de que você precisa adicionar o subdiretório do bin de sua raiz Go (por exemplo c:ir para dentro) a sua variável de ambiente PATH.

Agora usando o arquivo MSI, abra-o e siga as instruções para instalar as ferramentas. Por padrão, o instalador coloca a distribuição Go em c:\Go.

Ao contrário da instalação usando o arquivo zip, o instalador deve colocar o diretório c:\Go\bin em sua variável de ambiente PATH. Pode, apenas, ser necessário reiniciar qualquer prompt de comando aberto para que a alteração entre em vigor.

GVM

Outra alternativa para instalar e gerenciar as versões Go é [gvm] (https://github.com/moovweb/gvm) Basta executar o comando abaixo para instalar o gvm-installerbash <<(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer) Em seguida, instale a versão desejada do Go, usando

/code
gvm install go1.14
gvm use go1.14
/code

Vale a pena saber que algumas versões do Go têm algumas configurações ligeiramente diferentes, por exemplo, as versões mais antigas utilizam GOPATH para definir o diretório de trabalho. A partir de go1.11, isto não é mais tão comum e, para go1.14, já é considerado depreciado.

Hello World!

Teste da instalação

Vamos ao tradicional Hello World. Com a linguagem Go, o que foi transcrito aqui vem principalmente da documentação da própria linguagem.

Crie um diretório aprendendo_go e crie um arquivo chamado hello.go dentro dele. No arquivo, escreva estas linhas de código e salve-o

/code
package main
fmt" de importação
func main() {fmt.Printf("hello world\n")
}
/code

Em seguida, construa-o executando o seguinte comando em um terminal dentro do diretório aprendendo_go

/code
$ go build hello.go
/code

O comando acima criará um executável chamado "hello" no diretório aprendendo_go ao lado de seu código fonte. Execute-o executando o seguinte comando para ver a saudação:

$ ./hello
hello world

Vale mencionar que já existem vários plugins (alguns deles mantidos pela própria comunidade Go) de editores e IDEs para tornar o desenvolvimento mais produtivo. Aqui está o link para alguns deles:

Este foi o primeiro post sobre Go, que fará parte de uma seqüência de posts que Andreia Camila da Silva e eu faremos dando uma introdução sobre a linguagem.MacOS e ambientes Windows não foram testados anteriormente. Se houver alguma inconsistência, você pode entrar em contato com os autores para ajustes ou mesmo para troca de conhecimento. Você é sempre bem-vindo.

Referências e links úteis

Idioma do site https://golang.org

Aplicações desenvolvidas em Go https://awesome-go.com

Introdução prática ao Go usando programas de exemplo anotados https://gobyexample.com

Russ Cox juntou-se à equipe e fez grandes contribuições, seu blog é muito rico em conteúdo https://research.swtch.com

Aprenda Ir de Zero https://www.youtube.com/watch?v=_MkQLDMak-4

Golang em 20 minutos por Wesley WilliansThe Go Programming Language por Alan A. A. Donovan e Brian W. Kernighan

https://www.linode.com/docs/development/go/install-go-on-ubuntu

https://tecadmin.net/install-go-on-macos

https://sourabhbajaj.com/mac-setup/Go/README.html

Obrigado pela leitura!