DEV Community

Cover image for Como instalar a linguagem de programação Go (Golang)
Renato Cruz
Renato Cruz

Posted on

Como instalar a linguagem de programação Go (Golang)

A Go (também conhecida como Golang) é uma linguagem moderna, simples e extremamente eficiente, criada pelo Google. Muito utilizada para desenvolvimento de APIs, microsserviços, ferramentas de linha de comando e sistemas distribuídos, o Go se destaca pela sua performance e facilidade de uso.

Neste guia, você vai aprender como instalar o Go nos principais sistemas operacionais macOS, Linux e Windows, utilizando tanto métodos oficiais quanto gerenciadores de pacotes.

Ao final, também verá como iniciar seu primeiro projeto e compilar aplicações, incluindo cross-compilation.


macOS

Site oficial

Acesse o site oficial, faça o download do arquivo *.pkg e dê dois cliques para iniciar a instalação.

Homebrew (recomendado)

brew install go
Enter fullscreen mode Exit fullscreen mode

Caso ainda não tenha o Homebrew instalado, veja este guia: https://dev.to/natorsc/como-instalar-o-gerenciador-de-pacotes-homebrew-no-macos-1mfm


🐧 Linux

Site oficial

Acesse o site oficial e faça o download do arquivo *.tar.gz.

  1. Remova qualquer instalação anterior do Go e extraia o novo pacote:
sudo rm -rf /usr/local/go && \
sudo tar -C /usr/local -xzf go1.26.2.linux-amd64.tar.gz
Enter fullscreen mode Exit fullscreen mode

Não descompacte o arquivo dentro de um diretório /usr/local/go já existente, isso pode causar erros na instalação.

  1. Adicione o Go ao PATH:
export PATH=$PATH:/usr/local/go/bin
Enter fullscreen mode Exit fullscreen mode

Adicione essa linha ao arquivo $HOME/.profile (usuário) ou /etc/profile (sistema).

Para aplicar:

source $HOME/.profile
Enter fullscreen mode Exit fullscreen mode
  1. Verifique a instalação:
go version
Enter fullscreen mode Exit fullscreen mode

Repositórios (mais prático)

As versões disponíveis podem estar desatualizadas em relação ao site oficial.

Debian/Ubuntu

sudo apt install golang gcc
Enter fullscreen mode Exit fullscreen mode

Fedora

sudo dnf install golang golang-misc gcc
Enter fullscreen mode Exit fullscreen mode

Arch Linux

sudo pacman -S go
Enter fullscreen mode Exit fullscreen mode

Solus

sudo eopkg it -c golang system.devel
Enter fullscreen mode Exit fullscreen mode

openSUSE

sudo zypper install go gcc
Enter fullscreen mode Exit fullscreen mode

Void Linux

sudo xbps-install -S go base-devel
Enter fullscreen mode Exit fullscreen mode

Alpine Linux

sudo apk add go gcc
Enter fullscreen mode Exit fullscreen mode

Microsoft Windows

Site oficial

Baixe o instalador *.msi e execute com duplo clique.

MSYS2

pacman -Syu
Enter fullscreen mode Exit fullscreen mode
pacman -S git mingw-w64-x86_64-toolchain mingw-w64-x86_64-go
Enter fullscreen mode Exit fullscreen mode

Adicione ao PATH:

echo "export PATH=\$PATH:~/Go/bin" >> ~/.bashrc
Enter fullscreen mode Exit fullscreen mode

Winget

winget install --id=GoLang.Go -e
Enter fullscreen mode Exit fullscreen mode

Como iniciar um projeto em Go

Crie uma pasta e inicialize o módulo:

go mod init nome-do-projeto
Enter fullscreen mode Exit fullscreen mode

Crie um arquivo main.go:

package main

import "fmt"

func main() {
    fmt.Println("Hello, World!")
}
Enter fullscreen mode Exit fullscreen mode

Execute:

go run main.go
Enter fullscreen mode Exit fullscreen mode

Compile:

go build main.go
Enter fullscreen mode Exit fullscreen mode

Será gerado um binário para o sistema operacional atual.


Cross-compilation

Para gerar binários para outros sistemas:

GOOS=darwin GOARCH=arm64 go build main.go
Enter fullscreen mode Exit fullscreen mode

Esse exemplo gera um binário para macOS com arquitetura ARM (Apple Silicon – M1, M2, etc).

Você pode alterar os valores de GOOS e GOARCH conforme necessário:

GOOS GOARCH
aix ppc64
android 386
android amd64
android arm
android arm64
darwin amd64
darwin arm64
dragonfly amd64
freebsd 386
freebsd amd64
freebsd arm
freebsd arm64
freebsd riscv64
illumos amd64
ios amd64
ios arm64
js wasm
linux 386
linux amd64
linux arm
linux arm64
linux loong64
linux mips
linux mips64
linux mips64le
linux mipsle
linux ppc64
linux ppc64le
linux riscv64
linux s390x
linux sparc64
netbsd 386
netbsd amd64
netbsd arm
netbsd arm64
openbsd 386
openbsd amd64
openbsd arm
openbsd arm64
openbsd mips64
openbsd ppc64
openbsd riscv64
plan9 386
plan9 amd64
plan9 arm
solaris amd64
wasip1 wasm
windows 386
windows amd64
windows arm
windows arm64

Top comments (0)