
~/GO y la variable PATH en /etc/profile. Esto es de 2019. A continuación: tarball oficial de go.dev (serie Go 1.27, publicada en agosto de 2026), snap y apt — con go.mod, sin GOPATH artesanal.Go nació en Google en 2007 (Pike, Thompson, Griesemer) y se convirtió en open source en 2009 — contamos esa saga en La historia del lenguaje Go. Compila rápido, genera un binario, concurrencia con goroutine. Docker, Kubernetes, Terraform: Go. En 2019 este howto descargaba un script. En 2026 la vía oficial es el tarball de go.dev/dl.
Tarball oficial (recomendado)
Descarga la versión estable del momento, comprueba la arquitectura e instala en /usr/local/go. No extraigas encima de un árbol antiguo — el propio Go pide borrar antes:
VER=$(curl -fsSL 'https://go.dev/VERSION?m=text' | head -n1)
case $(uname -m) in
x86_64) GOARCH=amd64 ;;
aarch64) GOARCH=arm64 ;;
*) echo "arch não suportada"; exit 1 ;;
esac
cd /tmp
curl -fLO "https://go.dev/dl/${VER}.linux-${GOARCH}.tar.gz"
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf "${VER}.linux-${GOARCH}.tar.gz"
PATH en su usuario, no en /etc/profile de root:
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.profile
echo 'export PATH=$PATH:$(go env GOPATH)/bin' >> ~/.profile
source ~/.profile
go version
El GOPATH por defecto ya es ~/go. No necesita mkdir ~/GO. El checksum SHA-256 de cada archivo está en go.dev/dl. A partir del 1.21 el toolchain puede descargar por sí solo una versión más nueva si el go.mod pide (GOTOOLCHAIN).
Snap y apt
Si quiere el paquete de la distro, sepa que va por detrás de la upstream. Ubuntu 24.04 empaqueta más o menos la 1.22; el snap de Canonical va mejor:
# snap (clássico, atualiza sozinho)
sudo snap install go --classic
go version
# apt (estável da distro, costuma ser mais velho)
sudo apt update
sudo apt install -y golang-go git
go version
No mezcle snap, apt y /usr/local/go en el mismo PATH. Elija uno. PPA longsleep/golang-backports todavía existe para Ubuntu LTS, si el apt de la caja es demasiado antiguo.
Hola, módulo
Desde el 1.16 el módulo es el predeterminado. Nada de GOPATH/src/github.com/...:
mkdir -p ~/src/hello && cd ~/src/hello
go mod init hello
printf 'package mainnimport "fmt"nfunc main() { fmt.Println("olá, linuxpro") }n' > hello.go
go run .
Los genéricos existen desde 1.18 — el texto de 2019 decía que no. El gist del post original (jniltinho/8758e15a9ef80a189fce) queda como reliquia: no ejecutes scripts de gist como root en 2026.
Cierre
Un tarball, un PATH, un go mod init. El lenguaje que la lista de 2017 todavía calificaba como “débil en Brasil” es el de la infra. El mapa: Las 7 principales lenguajes. El howto de 2017, hermano mayor de este: Instalando Golang en Linux.
Go instalado, mira el lenguaje en acción aquí en el blog — dos proyectos nuestros escritos en Go: go-imapsync (migración de buzones IMAP en un único binario) y go-postfixadmin (panel moderno para Postfix).
Documentación: go.dev/doc/install · tour: go.dev/tour.