Czy kompilator Go można zainstalować w systemie Windows?


94

Szukałem na golang.org kompilatora Windows, ale nie mogę go znaleźć. Widzę tylko kompilatory Linuksa i OS X. Czy ktoś wie, czy programowanie w Go można zrobić w systemie Windows, czy jest to coś, czego Google jeszcze nie zaimplementował?

Aktualizacja: wygląda na to, że obecnie (listopad 2012 r.) Golang.org ma oficjalne wydania binarne dla systemu Windows 32 / x86_64.


groups.google.com/group/golang-nuts - tam znajdziesz swoją odpowiedź.
kar

2
gofmt.com/compile.html, jeśli chcesz wypróbować nieniszczące programowanie w Go w systemie Windows. Może kompilować, łączyć i uruchamiać programy oraz wyświetlać wyniki. Proszę o przesłanie mi prywatnej wiadomości, jeśli znajdziesz jakąkolwiek lukę w tej witrynie. Dzięki!
Randy Sugianto „Yuku”

Aktualizacja: kompilator erGo został udostępniony do testów beta w tym tygodniu. Deweloper Russel Newquist odpowiedział w komentarzach poniżej. newquistsolutions.com/ergo
nathan

4
Głosuję za zamknięciem tego pytania jako niezwiązanego z tematem, ponieważ witryna golang.org oferuje oficjalne pakiety Windows od pierwszego oficjalnego wydania (1.0).
icza

Odpowiedzi:


54

Istnieją teraz instalatory dla systemu Windows, zobacz Przejdź pod Windows

HelloWorld.go

package main

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

Skompiluj 8g, połącz z, 8la następnie wykonaj. Przykład:

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

Kolejna kompilacja Go dla Win32 (wydana
04.08.2010

Niestety nie mogę sprawić, aby ten port działał poprawnie. linker 8l zawsze narzeka na brak runtime.a, a także ulega awarii wkrótce po wywołaniu.
greatwolf,

1
@Victor: Właśnie to skonfigurowałem (11.12.2010) i działa dobrze przy kompilowaniu i łączeniu przykładów HelloWorld, PrimeSieve i Wiki. Wszystkie trzy programy działają.
Lawrence Dol,

1
Wydaje się, że port mingw działa bez konieczności instalowania żadnego specjalnego środowiska ( code.google.com/p/gomingw/downloads/list ). Przynajmniej kompiluje i łączy kilka przykładów, które próbowałem.
Lawrence Dol

1
Dzięki Jonasowi za miłą i przydatną odpowiedź.
bhadra

23

Nie trafił jeszcze do FAQ Go Lang, ale z dziennika zmian :

Dlaczego Go nie działa w systemie Windows? Rozumiemy, że znaczna część komputerów na świecie korzysta z systemu Windows i byłoby wspaniale, gdyby na tych komputerach można było uruchamiać programy Go. Jednak zespół Go jest niewielki i nie mamy w tej chwili zasobów, aby wykonać port Windows. Chętnie odpowiemy na pytania i doradzimy każdemu, kto chce opracować wersję dla systemu Windows.


6
Chociaż ta odpowiedź jest bardzo przychylna, jest obecnie nieaktualna.


7

Pomimo faktu, że Go ma zaledwie dwa dni, to pytanie stało się już często zadawanymi pytaniami na liście mailingowej Go. (Niestety, nie został jeszcze dodany do listy często zadawanych pytań na stronie internetowej).

Zasadniczo, Go jest wykonywane przez bardzo małą grupę ludzi, więc po prostu nie mają czasu ani zasobów, aby wykonać port Windows. Tak się składa, że ​​ta bardzo mała grupa ludzi to także ludzie, którzy wymyślili Uniksa, więc był to naturalny pierwszy cel.


AFAIK, rozwijają Go przez 20% czasu, a nie w pełnym wymiarze godzin. (W każdym razie to właśnie przeczytałem.) W każdym razie moja odpowiedź miała być bardzo-duży-język-bardzo-głęboko-w-policzek.
Jörg W Mittag

2
W rzeczywistości strona historii stwierdza, że ​​chociaż początkowo był to projekt w wolnym czasie, teraz jest to projekt na pełny etat dla przynajmniej części programistów. Zredagowałem odpowiedź, aby zasadniczo usunąć uwagi dotyczące ograniczeń w niepełnym wymiarze godzin.
Jörg W Mittag,

I za to was popieram :)
OscarRyz,

Wynaleźli Uniksa? Więc to jest projekt emerytalny?
Henk Holterman

10
Cóż, wymyślili także Plan9, następcę Uniksa. I Inferno, następca Plan9. Oraz C. I Limbo, język programowania systemów zbierania śmieci, w którym napisane jest Inferno. (Więc w pewnym sensie następca C i poprzednik Go.) I współbieżny język programowania Newsqueak (także w pewnym sensie poprzednik Go, zwłaszcza Goroutines.) Oraz Very Concurrent Garbage Collector, który jest używany w Limbo, Inferno, a także w niektórych implementacjach Standard ML. Oraz UTF-8. Więc to nie tak, że nie byli zajęci przez 40 lat między Unixem i Go.
Jörg W Mittag

3

Więc jeśli, tak jak ja, często korzystasz z systemu Windows i chcesz teraz programować w Go, możesz to zrobić na maszynie wirtualnej. Używam VirtualBox z Ubuntu w trybie pozornym. Już go skonfigurowałem, ponieważ pod wieloma względami podoba mi się Linux bardziej niż Windows.

Tworzenie i praca z Go było dla mnie całkowicie bezbolesne. Mam otwarty Bash w terminalu, aby uruchomić kompilację i wypróbować moją aplikację. Katalog źródłowy to folder współdzielony między systemami Windows i Linux (funkcja VirtualBox, ale jestem pewien, że VMWare ma to samo). Edytuję swój kod w Komodo Edit w systemie Windows i używam Mercurial dla tego samego kodu źródłowego w obu systemach operacyjnych.


Jak zasugerowano powyżej, mam Ubuntu na komputerze z systemem Windows (z virtualboxem) i gotowe.
user132797

3

Jeszcze nie.

Autorzy Go mają bardzo, bardzo głębokie korzenie w systemach operacyjnych innych niż Windows (Ciekawostka: kto z nich stworzył nie mniej niż sam system operacyjny UNIX)

Nie spodziewaj się więc, że w najbliższym czasie otrzymasz od nich port Windows.

Język jest open source, więc to tylko kwestia czasu (od 6 do 8 ehrm miesięcy), aby implementacja systemu Windows była dostępna.


2
Twoje połączenie między autorem Uniksa piszącego kompilator w wolnym czasie a „nie oczekuj portu Windows” jest interesujące, biorąc pod uwagę fakt, że wskazują oni w dzienniku zmian (patrz odpowiedź mbarnetta), że to tylko dlatego, że nie mają zasobów .
Jed Smith

2
Jeszcze jedno (miękkie) sformułowanie „nie obchodzi mnie to”.
ttvd

1
Tak, jest jak Linus sam tworzący port gita dla Windowsa. To się nigdy nie wydarzy (port jest tworzony przez innych)
OscarRyz

0

Chociaż w tej chwili nie ma wersji systemu Windows, przypuszczalnie można ją skompilować za pomocą Cygwin na platformie Windows.


1
Mógłbyś skompilować go pod cygwin z dużą ilością przeróbek, ale nawet wtedy skończyłbyś z kompilatorem 6g / 8g, który generuje ELF, a nie natywny plik binarny Windows. Byłby to jednak nadal dobry pierwszy krok. code.google.com/p/golang-on-cygwin Gdy kompilacja się powiedzie, następnym krokiem będzie naprawienie kompilatora w celu generowania kodu wykonywalnego systemu Windows.
Alan S


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.