O compilador Go pode ser instalado no Windows?


94

Estive procurando em golang.org por um compilador do Windows, mas não consigo encontrar. Só consigo ver os compiladores Linux e OS X. Alguém sabe se a programação Go pode ser feita no Windows ou é algo que o Google ainda não implementou?

Atualização: parece que a partir de agora (novembro de 2012) golang.org tem lançamentos binários oficiais para Windows 32 / x86_64.


groups.google.com/group/golang-nuts - você encontrará sua resposta lá.
kar

2
gofmt.com/compile.html se quiser tentar alguma programação Go não destrutiva no Windows. Ele pode compilar, vincular e executar seus programas e mostrar a saída. Envie-me uma mensagem privada se encontrar alguma vulnerabilidade nesse site. Obrigado!
Randy Sugianto 'Yuku'

Atualização: o compilador erGo foi lançado para teste beta esta semana. O desenvolvedor Russel Newquist respondeu nos comentários abaixo. newquistsolutions.com/ergo
nathan

4
Estou votando para fechar esta questão como fora do tópico porque o site golang.org oferece pacotes oficiais do Windows desde o primeiro lançamento oficial (1.0).
icza

Respostas:


54

Agora existem instaladores para Windows, consulte Go em Windows

HelloWorld.go

package main

func main() {
    println("Hello World!");
}

Compile com 8g, vincule 8le execute. Exemplo:

8g HelloWorld.go
8l -o HelloWorld.exe HelloWorld.8
HelloWorld

Outra versão Win32 do Go (lançada em 04/08/2010
Kolo32

Infelizmente, não consigo fazer com que esta porta funcione corretamente. o vinculador 8l sempre reclama da falta de runtime.a e também falha logo após a invocação.
greatwolf

1
@Victor: Acabei de configurar isso (em 11-12-2010) e funciona bem para compilar e vincular os exemplos HelloWorld, PrimeSieve e Wiki. E todos os três programas são executados.
Lawrence Dol

1
A porta mingw parece funcionar sem a necessidade de instalação de nenhum ambiente especial ( code.google.com/p/gomingw/downloads/list ). Pelo menos ele compila e liga vários exemplos que tentei.
Lawrence Dol

1
Obrigado a Jonas pela resposta agradável e útil.
bhadra de

23

Ainda não chegou ao FAQ Go Lang, mas a partir do changelog :

Por que o Go não funciona no Windows? Entendemos que uma fração significativa de computadores no mundo executa o Windows e seria ótimo se esses computadores pudessem executar programas Go. No entanto, a equipe Go é pequena e não temos recursos para fazer uma versão do Windows no momento. Estaríamos mais do que dispostos a responder a perguntas e oferecer conselhos a qualquer pessoa que queira desenvolver uma versão do Windows.


5
Embora esta resposta tenha muitos votos positivos, agora está desatualizada.


7

Apesar do Go ter apenas dois dias, esta pergunta se tornou uma FAQ na lista de discussão Go. (Infelizmente, ele ainda não foi adicionado à lista de perguntas frequentes no site.)

Basicamente, Go é feito por um grupo muito pequeno de pessoas, então elas simplesmente não têm tempo nem recursos para fazer uma versão do Windows. Esse grupo muito pequeno de pessoas também são as pessoas que inventaram o Unix, então esse foi o primeiro alvo natural.


AFAIK, eles desenvolvem Go durante o tempo de 20%, não em tempo integral. (Isso é o que eu li, de qualquer maneira.) De qualquer forma, minha resposta era para ser uma língua muito grande e muito fundo na bochecha.
Jörg W Mittag

2
Na verdade, a página de histórico afirma que, embora tenha começado como um projeto de tempo livre, agora é um projeto de tempo integral para pelo menos alguns dos desenvolvedores. Editei a resposta para basicamente remover os comentários sobre as restrições de tempo parcial.
Jörg W Mittag

E estou te votando por isso :)
OscarRyz

Eles inventaram o Unix? Então, este é um projeto de aposentadoria?
Henk Holterman

10
Bem, eles também inventaram o Plan9, o sucessor do Unix. E o Inferno, o sucessor do Plan9. E C. E Limbo, a linguagem de programação de sistemas com coleta de lixo em que o Inferno foi escrito. (Então, em certo sentido, o sucessor de C e predecessor de Go.) E a linguagem de programação concorrente Newsqueak (também em certo sentido uma predecessora de Go, especialmente os Goroutines.) E o Coletor de Lixo Muito Concorrente que é usado no Limbo, no Inferno e também em algumas implementações do ML padrão. E UTF-8. Então, não é como se eles não tivessem se ocupado nos 40 anos entre o Unix e o Go.
Jörg W Mittag

3

Portanto, se você, como eu, está no Windows a maior parte do tempo e deseja fazer alguma programação Go agora, você pode fazê-lo em uma VM. Eu uso o VirtualBox executando o Ubuntu em modo sem aparência. Eu já tinha configurado porque gosto mais do Linux do que do Windows para muitas coisas.

Construir e trabalhar com Go tem sido totalmente indolor para mim. Eu tenho um Bash aberto em um terminal para executar minha construção e testar meu aplicativo. O diretório de origem é uma pasta compartilhada entre o Windows e o Linux (um recurso do VirtualBox, mas tenho certeza que o VMWare tem a mesma coisa). Eu edito meu código no Komodo Edit no Windows e uso o Mercurial para o mesmo código-fonte nos dois sistemas operacionais.


Como sugerido acima, eu tenho o Ubuntu na máquina do Windows (com o virtualbox) e depois vou.
user132797

3

Ainda não.

Os autores de Go têm raízes muito profundas em sistemas operacionais não Windows (Curiosidade: quem deles criou nada menos do que o próprio sistema operacional UNIX)

Portanto, não espere ter uma porta do Windows deles tão cedo.

A linguagem é open source, então será apenas uma questão de tempo (faça de 6 a 8 meses ehrm) para que uma implementação do Windows esteja disponível.


2
Sua conexão entre um autor de Unix que escreve o compilador em seu tempo livre e "não espere uma porta do Windows" é interessante, visto que eles apontam no changelog (veja a resposta de mbarnett) que é só porque eles não têm os recursos .
Jed Smith

2
Apenas outra expressão (suave) para "não me importo".
ttvd

1
Sim, é como Linus criando ele mesmo um port do git para Windows. Isso nunca acontecerá (a porta está sendo criada por outros, no entanto)
OscarRyz

0

Embora não exista uma versão do Windows no momento, ele pode provavelmente ser compilado usando o Cygwin em uma plataforma Windows.


1
Você poderia compilá-lo no cygwin com muito retrabalho, mas mesmo assim, você acabaria com um compilador 6g / 8g que produz ELF, não um binário nativo do Windows. No entanto, este ainda seria um bom primeiro passo. code.google.com/p/golang-on-cygwin Depois que as compilações forem bem-sucedidas, a próxima etapa seria consertar o compilador para gerar o código executável do Windows.
Alan S


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.