GoLang: Preparando o ambiente de desenvolvimento

Published on by Jeferson Santos  development, go, golang



Para iniciar o desenvolvimento com Go é necessário preparar o ambiente que utilizaremos para desenvolver. O guia a seguir foi criado com base em macOS, mas pode também ser utilizado no Linux. Para saber mais sobre como instalar em outras plataformas consulte a seção de Downloads do site oficial do Golang.

  1. Instale o compilador do Go utilizando Homebrew:
$ brew install go

Alternativamente, baixe o pacote de instalação diretamente do site oficial do Golang

  1. Configurar os diretórios e variáveis de ambiente
  • Crie um diretório para armazenar os módulos, códigos-fonte, binários, etc utilizados pelo Go. Este será o seu workspace.
$ mkdir -p ~/Developer/go
  • No meu caso, eu uso o arquivo .profile para armazenar minhas configurações de ambiente, logo:
# Go-lang specifics
# Go Workspace directory
export GOPATH=$HOME/Developer/go
# This is the folder where Go is installed by homebrew
export GOROOT=/usr/local/opt/go/libexec
export PATH=$PATH:$GOPATH/bin:$GOROOT/bin
  • Em seguida, lembre-se de reiniciar seu terminal ou recarregar o profile:
$ source ~/.profile
  1. A IDE que tenho utilizado e gostado muito é o VSCode. Além de gratuito e multiplataforma, é muito mais leve e rápido do que o Goland da Jetbrains. Se ainda não tiver instalado o Visual Studio Code, agora é o momento.

  2. Instale a extensão Go fornecida pela Microsoft (Go - Visual Studio Marketplace). Esta extensão vai permitir sintax highlighting, intellisence (autocomplete), debugger, entre outras excelentes funcionalidades.

Opcional: Instale também a extensão Code Runner. Esta extensão facilita a execução de codigo.

  1. Após instalar a extensão (e reiniciar o VSCode), pressione ⌘ + Shift + P (Command + Shift + P) e digite Go: Install/Update Tools. Nota: Caso o VSCode pergunte qual tool você quer instalar, selecione todas.

No terminal do VSCode você deve ter um output similar ao seguinte:

Installing 17 tools at ~/Developer/go/bin
  gocode
  gopkgs
  go-outline
  go-symbols
  guru
  gorename
  dlv
  gocode-gomod
  godef
  goreturns
  golint
  gotests
  gomodifytags
  impl
  fillstruct
  goplay
  godoctor

Installing github.com/mdempsky/gocode SUCCEEDED
Installing github.com/uudashr/gopkgs/cmd/gopkgs SUCCEEDED
Installing github.com/ramya-rao-a/go-outline SUCCEEDED
Installing github.com/acroca/go-symbols SUCCEEDED
Installing golang.org/x/tools/cmd/guru SUCCEEDED
Installing golang.org/x/tools/cmd/gorename SUCCEEDED
Installing github.com/go-delve/delve/cmd/dlv SUCCEEDED
Installing github.com/stamblerre/gocode SUCCEEDED
Installing github.com/rogpeppe/godef SUCCEEDED
Installing github.com/sqs/goreturns SUCCEEDED
Installing golang.org/x/lint/golint SUCCEEDED
Installing github.com/cweill/gotests/... SUCCEEDED
Installing github.com/fatih/gomodifytags SUCCEEDED
Installing github.com/josharian/impl SUCCEEDED
Installing github.com/davidrjenni/reftools/cmd/fillstruct SUCCEEDED
Installing github.com/haya14busa/goplay/cmd/goplay SUCCEEDED
Installing github.com/godoctor/godoctor SUCCEEDED

All tools successfully installed. You're ready to Go :).

🎉 Pronto! Seu ambiente de desenvolvimento está preparado para compilar, testar, e debugar codigo em Go.

Para testar, crie um arquivo hello.go com o seguinte conteúdo:

package main

import "fmt"

func main() {
    fmt.Println("Hey, Ho, Let's Go! 🔥")
}

Usando o terminal para compilar e executar

Abra o terminal e digite:

$ go run hello.go

O output deve ser:

Hey, Ho, Let's Go! 🔥

Usando Code Runner para compilar e executar

E clique no ▶︎ ("Play") no lado superior direito da tela (alternativamente use o atalho: ^ + ⎇ + N ou Control + Option + N), ou em Debug > Start Without Debugging.

O output deve ser algo como:

[Running] go run "~/Developer/golang-101/hello.go"
Hey, Ho, Let's Go! 🔥

[Done] exited with code=0 in 0.326 seconds
VScode Running Go

Atualização 2019-08-18

  • O projeto de teste foi criado em ~/Developer/golang-101. Isso funciona em duas condições:
    1. Usando somente bibliotecas nativas (ex. fmt) e nenhum package de terceiros, pois se você não estiver dentro do GOPATH, o compilador não consegue encontrar as dependencias externas;
    2. Em Go Modules (vou tratar de Go Modules em um post novo em breve);

Para funcionar corretamente os projetos devem ser criados dentro de ~/Developer/go/src/.

  • Usei o CodeRunner para executar o código pela simplicidade e praticidade, no entanto NÃO é o recomendado para um projeto de verdade. A abordagem correta é configurar o runner/debugger do Visual Studio Code para rodar e depurrar.