
Essa é a mais nova linguagem de programação disponível no mundo (e com licença BSD). E adivinhe quem está por de trás dela? Sim, o Google, o grande gigante da comunicação. Mas por que mais uma nova linguagem?
Segundo o próprio Google, não houve aparecimento de uma grande inovação em linguagens de programação na última década. Embora os computadores tenham se tornado mais rápidos, o desenvolvimento de applicações não acompanhou tal evolução. Há diversas outras explicações na página da linguagem, disponível em
http://golang.org/ Lá você encontrará diversos tutoriais, dicas e a especificação desta nova lingugem de programação, que é baseada na família da linguagem C e com elementos sintáticos encontrados em Python.
Então vamos meter a mão na massa (ao menos um pouco

)
Aqui seguem os passos para o download e instalação do mesmo (testado num Slackware 13), de acordo com a própria página de instalação (
um artigo sobre a linguagem em si, com comparações à diversas outras será disponibilizado em breve):
Declare as seguintes variáves de ambiente (bom colocar isso em seu bashrc):
$GOROOT: diretório de trabalho do código fonte;
$GOOS: sistema operacional. As escolhas possíveis podem ser: linux, darwin ou nacl. Sim, eles não suportam windows, ao menos por hora.
$GOARCH: arquitetura de sua máquina, pode ser: amd64, 386 ou arm;
$GOBIN: diretorio onde os binarios serão colocados. Atente ao fato que tal diretório deve estar em seu $PATH, uma vez que serão copiados arquivos necessários para a própria compilação do Go.
Verifique também se seu sistema possui as seguintes dependências:
ed e
bison.
Faça o download a partir do Mercurial com o seguinte comando:
hg clone -r release https://go.googlecode.com/hg/ $GOROOT
Ou se preferir,
baixe um snapshot feito agora a pouco, com 3,4Mb (contra 38Mb do
mercurial)
Para a instalação você deverá estar conectado à internet para executar alguns testes durante a instalação. Desta forma (assumindo que todos as variáveis de sistema acimma citadas tenham sido corretamente definidas), entre com os seguintes comandos:
cd $GOROOT/src
./all.bash
Se tudo ocorrer bem a seguinte mensagem deverá ser impressa em seu terminal:
--- cd ../test
N known bugs; 0 unexpected bugs
Caso encontre uma mensagem de erro da seguinte forma:
make[2]: Entering directory `/home/mdk/projects/GO/src/pkg/archive/tar'
6g -o _gotest_.6 common.go reader.go writer.go reader_test.go writer_test.go
rm -f _test/archive/tar.a
gopack grc _test/archive/tar.a _gotest_.6
make[2]: Leaving directory `/home/mdk/projects/GO/src/pkg/archive/tar'
gotest: error: no tests matching Test([^a-z].*)? in _test/archive/tar.a
make[1]: *** [test] Error 2
make[1]: Leaving directory `/home/mdk/projects/GO/src/pkg/archive/tar'
make: *** [archive/tar.test] Error 2
defina/sobreescreva a seguinte variável de sistema:
Com tudo instalado, você será capaz de escrever seu primeiro programa para testar o bagulho (teste.go):
// Isso e' um cometario
/* bem como este tambem! */
package main
import "fmt"
func main(){
fmt.Printf("Ei, essa coisa funciona!!\n")
}
Compilando-o (frisando mais uma vez sobre as variaveis de sistema):
para 64 bits ou
para 32 bits
Fazendo a ligação:
E por fim, executando:
Há também um backend do gcc para tal, o
gccgo