Il compilatore Go può essere installato su Windows?


94

Ho cercato su golang.org un compilatore Windows, ma non riesco a trovarlo. Riesco a vedere solo i compilatori Linux e OS X. Qualcuno sa se la programmazione Go può essere eseguita su Windows o è qualcosa che Google non ha ancora implementato?

Aggiornamento: sembra che a partire da ora (novembre 2012) golang.org abbia versioni binarie ufficiali per Windows 32 / x86_64.


groups.google.com/group/golang-nuts : lì troverai la tua risposta.
kar

2
gofmt.com/compile.html se vuoi provare una programmazione Go non distruttiva su Windows. Può compilare, collegare ed eseguire i tuoi programmi e mostrarti l'output. Per favore mandami un messaggio privato se trovi qualche vulnerabilità su quel sito. Grazie!
Randy Sugianto 'Yuku'

Aggiornamento: il compilatore erGo è stato rilasciato per il beta test questa settimana. Lo sviluppatore Russel Newquist ha risposto nei commenti qui sotto. newquistsolutions.com/ergo
nathan

4
Voto per chiudere questa domanda come fuori tema perché il sito web golang.org offre pacchetti Windows ufficiali sin dal primo rilascio ufficiale (1.0).
icza

Risposte:


54

Ora ci sono programmi di installazione per Windows, vedi Vai in Windows

HelloWorld.go

package main

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

Compila con 8g, collega con 8le quindi esegui. Esempio:

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

Un'altra build Win32 di Go (rilasciata il
04/08/2010

Purtroppo non riesco a far funzionare correttamente questa porta. il linker 8l si lamenta sempre del runtime.a mancante e si arresta in modo anomalo subito dopo l'invocazione.
lupo mannaro

1
@Victor: l'ho appena impostato (l'11-12-2010) e funziona bene per compilare e collegare gli esempi HelloWorld, PrimeSieve e Wiki. E tutti e tre i programmi vengono eseguiti.
Lawrence Dol

1
Il port mingw sembra funzionare senza bisogno di installazione di alcun ambiente speciale ( code.google.com/p/gomingw/downloads/list ). Almeno compila e collega diversi esempi che ho provato.
Lawrence Dol

1
Grazie a Jonas per la bella e utile risposta.
bhadra

23

Non è ancora arrivato nelle FAQ di Go Lang, ma dal log delle modifiche :

Perché Go non funziona su Windows? Sappiamo che una percentuale significativa di computer nel mondo esegue Windows e sarebbe fantastico se quei computer potessero eseguire programmi Go. Tuttavia, il team di Go è piccolo e al momento non abbiamo le risorse per eseguire un porting di Windows. Saremmo più che disponibili a rispondere a domande e offrire consigli a chiunque sia disposto a sviluppare una versione di Windows.


5
Sebbene questa risposta sia fortemente votata, ora è obsoleta.


7

Nonostante il fatto che Go abbia solo due giorni, questa domanda è già diventata una FAQ sulla mailing list di Go. (Sfortunatamente, non è stato ancora aggiunto all'elenco delle FAQ sul sito web.)

Fondamentalmente, Go è fatto da un gruppo molto piccolo di persone, quindi semplicemente non hanno il tempo né le risorse per eseguire un port di Windows. Quel piccolissimo gruppo di persone è anche quello che ha inventato Unix, quindi era una specie di primo obiettivo naturale.


AFAIK, sviluppano Go durante il loro 20% di tempo, non a tempo pieno. (Questo è quello che ho letto, comunque.) Ad ogni modo, la mia risposta doveva essere molto-lingua-molto-profonda-guancia.
Jörg W Mittag

2
In realtà, la pagina della cronologia afferma che mentre è iniziato come un progetto per il tempo libero, ora è un progetto a tempo pieno per almeno alcuni degli sviluppatori. Ho modificato la risposta per rimuovere sostanzialmente le osservazioni sui vincoli part-time.
Jörg W Mittag

E ti voto per questo :)
OscarRyz

Hanno inventato Unix? Quindi questo è un progetto di pensionamento?
Henk Holterman

10
Ebbene, hanno anche inventato Plan9, il successore di Unix. E Inferno, il successore di Plan9. E C. e Limbo, il linguaggio di programmazione dei sistemi di raccolta dei rifiuti in cui è scritto Inferno (quindi, in un certo senso, il successore di C e il predecessore di Go.) E il linguaggio di programmazione concorrente di Newsqueak (anche in un certo senso un predecessore di Go, specialmente i Goroutine.) E il Very Concurrent Garbage Collector che viene utilizzato in Limbo, Inferno e anche in alcune implementazioni di Standard ML. E UTF-8. Quindi, non è che non si siano tenuti occupati nei 40 anni tra Unix e Go.
Jörg W Mittag

3

Quindi, se tu, come me, utilizzi Windows per molto tempo e vuoi fare un po 'di programmazione Go adesso, puoi farlo su una VM. Uso VirtualBox con Ubuntu in modalità apparente. L'avevo già configurato perché mi piace Linux meglio di Windows per molte cose.

Costruire e lavorare con Go è stato totalmente indolore per me. Ho un Bash aperto in un terminale per eseguire la mia build e provare la mia app. La directory di origine è una cartella condivisa tra Windows e Linux (una funzionalità di VirtualBox ma sono sicuro che VMWare ha la stessa cosa). Modifico il mio codice in Komodo Edit su Windows e utilizzo Mercurial per lo stesso codice sorgente su entrambi i sistemi operativi.


Come suggerito sopra ho ottenuto Ubuntu sulla macchina Windows (con virtualbox) e poi sono andato.
user132797

3

Non ancora.

Gli autori di Go hanno radici molto profonde su sistemi operativi non Windows (curiosità: chi di loro ha creato nientemeno che il sistema operativo UNIX stesso)

Quindi, non aspettarti di avere presto una porta Windows da loro.

Il linguaggio è open source, quindi sarà solo una questione di tempo (rendilo da 6 a 8 ehrm mesi) per l'implementazione di Windows sarà disponibile.


2
La tua connessione tra un autore di Unix che scrive il compilatore nel suo tempo libero e "non aspettarti un port di Windows" è interessante, dato che fanno notare nel log delle modifiche (vedi la risposta di mbarnett) che è solo perché non hanno le risorse .
Jed Smith,

2
Solo un'altra formulazione (morbida) per "non importa".
ttvd

1
Sì, è come se Linus stesse creando lui stesso un port di git per Windows. Ciò non accadrà mai (il port è stato creato da altri però)
OscarRyz

0

Sebbene al momento non sia disponibile una versione di Windows, presumibilmente può essere compilata utilizzando Cygwin su una piattaforma Windows.


1
Potresti compilarlo sotto cygwin con molte rielaborazioni, ma anche così, ti ritroveresti con un compilatore 6g / 8g che emette ELF, non un binario Windows nativo. Tuttavia, questo sarebbe comunque un buon primo passo. code.google.com/p/golang-on-cygwin Una volta che le build sono riuscite, il passaggio successivo sarebbe riparare il compilatore per generare codice eseguibile di Windows.
Alan S,


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.