Instalação

Para instalação no Windows, clique aqui.

O lançamento de Go pelo GCC está confirmado (previsto para versão 4.5, acompanhe), em breve ele será uma ferramenta padrão Linux e ainda mais facilmente instalável. Enquanto não, siga as instruções abaixo...

Antes de prosseguir confira os pré-requisitos para a instalação ou ela provavelmente falhará.

Instalando Go

Nada de scripts automatizadores, vamos fazer tudo manualmente. É simples e seguro assim. Veja a página oficial da instalação para mais detalhes. Procurei seguir as referências padrão, mas é possível por os executáveis de Go em qualquer lugar, basta configurar a variável adicional $GOBIN (crie o diretório) e ajustar $GOROOT como quiser.

Configurando as variáveis

Combinações possíveis:
$GOOS$GOARCH
darwin386
darwinamd64
freebsd386
freebsdamd64
linux386
linuxamd64
linuxarm
nacl386

Se for um Mac Leopard ou Snow Leopard, a combinação é darwin/amd64. Se Mac Tiger, darwin/386. Se for um linux como o Ubuntu/Debian ou Fedora, linux/amd64 para 64 bit ou linux/386 para 32 bit e assim por diante (kernel/arquiterura).

Prosseguirei supondo darwin/amd64, ajuste para o seu caso!

export GOROOT="$HOME/go"
export GOARCH="
amd64"
export GOOS="
darwin"

[Se quiser uma instalação mais "limpa" crie os diretórios ~/go, ~/go/lib, ~/go/bin. Configure GOROOT=$HOME/go/lib e GOBIN=$HOME/go/bin e as demais normalmente. Assim, quando quiser desinstalar Go, basta remover a pasta ~/go e retirar as variáveis do arquivo profile.]

Veja se as variáveis estão configuradas corretamente:

env | grep '^GO'

Baixando Go

Baixe o código fonte de Go usando o mercurial:

hg clone -r release https://go.googlecode.com/hg/ $GOROOT

Instalando

Crie o diretório necessário:

mkdir ~/bin 2> /dev/null

Instale normalmente:

cd $GOROOT/src
./all.bash

Ou se estiver instalando remotamente num servidor compartilhado, para evitar que matem o processo, instale assim (alterando a prioridade):

cd $GOROOT/src
nice -n19 ./all.bash

A instalação terá sido bem-succedida se (depois de todo aquele log) terminar assim:

--- cd ../test
N known bugs; 0 unexpected bugs

(Sendo N zero ou um número natural qualquer que varia de release pra release)

Alterando arquivo profile

Para finalizar, ponha as variáveis no seu arquivo profile (aquele arquivo oculto na pasta de usuário iniciado quando vc se loga). No Mac e no Ubuntu, é o arquivo ".profile". Costuma ser tb ".bash_profile".

Prosseguirei supondo ".profile", ajuste para o seu caso!

Duas opções...

Com o editor de texto

Abra seu arquivo profile e adicione ao final o seguinte código (ajuste para o seu caso!):

# Go Language (golang.org)
  export GOROOT=$HOME/go
  export GOARCH=amd64
  export GOOS=darwin
  export PATH=$HOME/bin:$PATH

Pela linha-de-comando (mesmo resultado, mais fácil)

Aqui você tem a vantagem de aproveitar as variáveis já configuradas. Copie e cole no terminal todo o código, inclusive a(s) linha(s) em branco (para previnir que entrem ao lado de uma linha já escrita). Esse código só escreverá no arquivo se não houver feito isso antes, portanto não se preocupe se estiver reinstalando.

cat ~/.profile | grep '^# Go Language' ||
cat >> ~/.profile <<EOS

# Go Language (golang.org)
  export GOROOT=\$HOME/go
  export GOARCH=$GOARCH

  export GOOS=$GOOS
  export PATH=\$HOME/bin:\$PATH
EOS

É bom conferir tudo e reiniciar a máquina (ou re-logar-se no caso de um servidor remoto).

Documentação

Execute no terminal:

godoc -http=":1234"

E então vá no endereço http://localhost:1234 e verá todo o site golang.org rodando localmente como documentação. [Isso se você tiver permissão para executar processos vinculados a portas (por exemplo, se a instalação for local).]

Divulgar para os amigos

Fácil não? Se achar que essa página ajudou você, me ajude a divulgar meu trabalho e seus amigos a instalar Go e programar nessa incrível linguagem. ;-) [Ué, mas não tem ainda o restante do tutorial? Sim, mas muita gente virá aqui só para instalar rsrs, então aproveito o ensejo.]

Link reduzido para essa página: http://tinyurl.com/goinst-pt-BR

Para atualizar Go

Entre na linha-de-comando:

cd $GOROOT/src             # Entrando no diretório fonte
hg pull; hg update release # Atualizando o código
./all.bash                 # Reinstalando...

Para desinstalar Go

Entre na linha-de-comando:

# Entrando no diretório dos executáveis
[[ $GOBIN ]] || export GOBIN=$HOME/bin; cd $GOBIN

# Apagando os executáveis de Go
rm -f 5a 5c 5g 5l 6a 6c 6g 6l 8a 8c 8g 8l \
cc cgo cov ebnflint gc godefs godoc \
gofmt goinstall gopack gotest goyacc \
6nm gomake gopprof quietgcc \
hgpatch ld nm prof 2> /dev/null

# Removendo a pasta principal
rm -rf $GOROOT 2> /dev/null

E então basta retirar do seu arquivo profile as variáveis de Go.