Escolar Documentos
Profissional Documentos
Cultura Documentos
Você precisa escrever um código onde performance é o foco, mas não abre mão
da simplicidade no desenvolvimento e ainda gostaria de aproveitar tudo que uma linguagem de
programação moderna tem para oferecer. A linguagem Go — ou simplesmente golang — oferece
isso a você.
Com intuito de manter a simplicidade na hora de programar, foram removidos da linguagem Go,
recursos como: Classes, Heranças, Overload de Métodos, Try/Catchs, entre outros.
Mas como exatamente ela funciona e quais são suas principais características?
Em 2007, Robert Griesemer, Rob Pike e Ken Thompson — responsáveis respectivamente por
projetos como Motor JavaScript V8, sistema UNIX e UTF-8 — foram convidados a projetar uma
linguagem que contemplasse três necessidades básicas do Google: desempenho, escalabilidade e
facilidade de manutenção.
A linguagem Go traz algumas diretrizes que a caracterizam, tais como: Programação
concorrente/paralela nativa, Desempenho, Multiplataforma, Facilmente escalável, Compilado,
Garbage Collector Nativo, Memory Safe, Simplista ao extremo.
O nome oficial da linguagem é Go, porém, ela recebeu o apelido “golang” devido o site ter sido
registrado como golang.org, já que o domínio go.org não estava disponível.
Golang é o termo adequado para fazer pesquisas em buscadores devido ao frequente uso da
palavra “go” no idioma inglês.
O logotipo
O Go Gopher foi criado pelo renomado ilustrador Renee French para ser o mascote da linguagem.
The Stack Overflow Survey 2021, em uma pesquisa que abrange 82,914 respostas, Go encontra-
se no top 10 entre as linguagens mais amadas com 62,74% versus 37,26% de temidas.
É importante estar ciente que cada tecnologia possui suas vantagens e desvantagens. Saber os
pontos fracos e fortes da linguagem ajuda a escolher sabiamente qual é a melhor linguagem para
cada projeto.
Vantagens
A facilidade de uso: A linguagem apresenta uma sintaxe fácil de usar. Isso torna fácil a
manutenção do código.
Linguagem de segurança: como Go é uma linguagem de tipo estático, há menos
probabilidades de erro. Essa é uma vantagem sobre as linguagens tipadas dinamicamente
com um grande número de tipos de variáveis e maiores chances de erros de codificação
complexos. Além disso, o código escrito em Go é mais simples e fácil de depurar. A
combinação desses fatores reduz as vulnerabilidades de segurança do aplicativo.
Excelente documentação: Go não só tem uma excelente documentação, mas vai um passo
além. Os desenvolvedores que não documentam seu código o suficiente recebem alertas
para colocar em prática a documentação necessária. Isso aumenta a capacidade de
manutenção do código escrito em Go.
Desvantagens
Go vs Python
Go vs Java
Java executa por meio de uma máquina virtual, enquanto que o Go executa nativo pelo
sistema por ser compilado em linguagem de máquina. Go é capaz de paralelismo nativamente.
Go vs NodeJS
Há também um tour Interativo por Go, com uma série de slides e lições para aprender. O tour
cobre as características mais importantes da linguagem, onde é possível compilar e executar suas
lições em um servidor remoto de Go.
A partir dos módulos é possível aprender sobre:
Por fim, Karl Seguin escreveu o livro The Little Go Book, disponível gratuitamente.
Agora chegou o momento tão esperado. Hora de arregaçar as mangas, instalar, configurar e
executar nosso primeiro programa em Go!
Instalação da linguagem Go
3 – Localize o arquivo que você baixou na sua máquina e dê um clique duplo para iniciar a
instalação na seguinte tela.
4 – A partir de agora, siga a instalação padrão do Windows. Na tela de instalação para executar a
opção Install será necessário que seu usuário tenha privilégios administrativos e será necessário
permitir que o aplicativo faça alterações no seu dispositivo.
2 – Como iremos fazer o processo de instalação pelo terminal, então na página de download
localize um arquivo semelhante a: go1.17.linux-amd64.tar.gz
3 – Clique com o lado direito do mouse e procure a opção Copiar link/Copiar endereço do link
(Essa opção varia de acordo com o navegador que você estiver utilizando)
4 – No linux — utilizando um Ubuntu — abra o terminal (CTRL + ALT + T)
7 – Ocorrendo tudo certo será gerado um diretório chamado go com todos os arquivos extraídos.
8 – Agora moveremos esse diretório go. A recomendação é que ele seja movido
para /usr/local/go ou /opt/local/go
sudo mv go /usr/local/
1 – Abra o Painel de controle e busque pelo termo “variáveis de ambiente”, na barra de pesquisa.
Será necessário encontrar a opção “Editar as variáveis de ambiente do sistema”.
3 – Na tela que irá abrir há dois grupos. O grupo superior é das Variáveis de usuário e o grupo
inferior das Variáveis do sistema. Nesse passo é importante editarmos o grupo das Variáveis do
sistema. Então localize a variável Path (Dê um clique duplo ou selecione e clique no botão Editar)
4 – Será necessário adicionar o caminho da instalação do go até o diretório /bin. Caso não tenha
alterado durante da instalação, o caminho padrão ficará assim: C:\Program Files\Go\bin
Em alguns casos essa variável pode ter sido adicionada automaticamente durante a instalação,
então não será necessário adicionar um novo valor.
go version
nano ~/.profile
export PATH=$PATH:/usr/local/go/bin
O arquivo ficará parecido com isso. (caso esteja utilizando o nano, CTRL+O para gravar e
CTRL+X para sair.
source ~/.profile
go version
Tanto no Windows quanto no Linux é possível digitar o comando go env, isso exibirá todas as
variáveis de ambiente que o Go utiliza.
1 – Abrir o terminal
mkdir go-workspace
cd go-workspace
4 – Você pode digitar o comando pwd dentro desse diretório e copiar o valor da saída no terminal.
É provável que seja um valor iniciado em /home e finalizando em /go-workspace.
(Para copiar, selecione todo o caminho, clique com o lado direito do mouse e depois em copiar.)
nano ~/.profile
source ~/.profile
Entenda o Go Workspace
src/: localização do código-fonte Go arquivos com as extensões, .go, .c, .g, .s).
pkg/: localização do pacote compilado (arquivos com extensão, .a). Raramente
utilizaremos ela.
bin/: localização dos arquivos binários, ou seja, programas executáveis compilados
desenvolvidos por Go.
É possível utilizar o editor padrão do seu sistema operacional como o Bloco de Notas no
Microsoft Windows ou o Nano no Linux, salvar o arquivo que contém seu código com a
extensão .go. e executar o arquivo pelo terminal com o comando go run nomedoarquivo.go. sem
necessidade alguma de IDE.
Já para quem prefere utilizar uma IDE, a ferramenta gopls (é pronunciado “Go please”), servidor
oficial da linguagem Go desenvolvida pela equipe Go, pode ser uma solução. Segundo seu
repositório no Github, ela fornece recursos de IDE para qualquer editor compatível com LSP
(Language Server Protocol).
É possível utilizar gopls, a partir da instalação de um plugin LSP nos seguintes editores:
VSCode
Vim / Neovim
Emacs
Átomo
Texto Sublime
Acme
Agora veremos como fazer a configuração do plugin no VSCode a fim de obter recursos como
IntelliSense, navegação de código, pesquisa de símbolo, teste, depuração, entre outros recursos
que ajudarão no desenvolvimento Go.
1 – No gerenciador de extensões do VSCode (CRTL + SHIFT + X) busque por Go e clique em
install.
2 – Para ativar a extensão é necessário abrir algum arquivo com extensão .go no workspace.
4 – Será informado um alerta para cada ferramenta faltante com uma opção para instalar.
Comandos e ferramentas adicionais podem ser encontradas no diretório oficial.
package main
import "fmt"
func main() {
fmt.Println("Hello World")
Agora salvaremos o arquivo com o nome de hello.go no do diretório /src do nosso go-workspace.
Para executar nosso primeiro arquivo Go é bem simples. Basta digitar o comando:
go run hello.go
Pronto, você acabou de executar seu primeiro programa em Golang.
A Linguagem Go não é uma bala de prata, assim como qualquer outra não é. Porém, ela possui
suas particularidades. Sua simplicidade é um grande ponto forte. Quando o assunto é performance,
Go é a solução ideal para tal.
Se você gostou de aprender sobre essa linguagem, conheça agora um pouco sobre a linguagem R!
Cairo Noleto
Nascido na terra distante e quente de Teresina - PI em 1986, é quase Bacharel em Sistemas de Informação e trabalha com Desenvolvimento
de Software desde 2007. Começou sua carreira na linguagem PHP e depois, em 2009, mudou para Ruby, na qual teve a felicidade de
trabalhar no projeto de tradução da documentação para português (do Brasil) do framework Ruby on Rails. Já trabalhou em empresas como
Jus Navigandi, e Enjoei, marketplace. Além de ter lidado com as linguagens Ruby e GoLang (2013-2016), e por fim impactou mais de 2
milhões de estudantes em todo o Brasil no AppProva, com as linguagens Ruby, PHP, JavaScript, GoLang e Elixir. Atualmente na Trybe é
responsável pelo time de tecnologia de Experiência de Estudantes.