Можно ли установить компилятор Go в Windows?


94

Я искал на golang.org компилятор Windows, но не могу его найти. Я вижу только компиляторы Linux и OS X. Кто-нибудь знает, можно ли программировать Go в Windows или это еще не реализовано в Google?

Обновление: похоже, что на данный момент (ноябрь 2012 г.) golang.org имеет официальные бинарные версии для Windows 32 / x86_64.


groups.google.com/group/golang-nuts - там вы найдете свой ответ.
kar

2
gofmt.com/compile.html, если вы хотите попробовать неразрушающее программирование на Go в Windows. Он может компилировать, связывать и запускать ваши программы и показывать вам результат. Пожалуйста, отправьте мне личное сообщение, если вы обнаружите какую-либо уязвимость на этом сайте. Спасибо!
Рэнди Сугианто 'Yuku'

Обновление: на этой неделе для бета-тестирования был выпущен компилятор erGo. Разработчик Рассел Ньюквист ответил в комментариях ниже. newquistsolutions.com/ergo
Натан

4
Я голосую за то, чтобы закрыть этот вопрос как не по теме, потому что веб- сайт golang.org предлагает официальные пакеты Windows с момента первого официального выпуска (1.0).
icza

Ответы:


54

Теперь есть установщики для Windows, см. Перейти под Windows

HelloWorld.go

package main

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

Скомпилировать 8g, связать с помощью 8lи затем выполнить. Пример:

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

Еще одна сборка Go для Win32 (выпущена
4

К сожалению, я не могу заставить этот порт работать правильно. компоновщик 8l всегда жалуется на отсутствие runtime.a и также дает сбой вскоре после вызова.
greatwolf

1
@Victor: Я только что установил это (11.12.2010), и он отлично работает для компиляции и связывания примеров HelloWorld, PrimeSieve и Wiki. И все три программы работают.
Лоуренс Дол

1
Кажется, что порт mingw работает без необходимости установки какой-либо специальной среды ( code.google.com/p/gomingw/downloads/list ). По крайней мере, он компилирует и связывает несколько примеров, которые я пробовал.
Лоуренс Дол

1
Спасибо Джонасу за хороший и полезный ответ.
bhadra

23

Он еще не вошел в FAQ Go Lang, но из журнала изменений :

Почему Go не работает в Windows? Мы понимаем, что значительная часть компьютеров в мире работает под управлением Windows, и было бы здорово, если бы эти компьютеры могли запускать программы Go. Однако команда Go небольшая, и в настоящий момент у нас нет ресурсов для создания порта Windows. Мы будем более чем готовы ответить на вопросы и дать совет всем, кто хочет разработать версию для Windows.


6
Хотя этот ответ получил большое количество голосов, теперь он устарел.


7

Несмотря на то, что Go всего два дня назад, этот вопрос уже стал FAQ в списке рассылки Go. (К сожалению, он еще не добавлен в список часто задаваемых вопросов на сайте.)

По сути, Go выполняется очень небольшой группой людей, поэтому у них просто нет ни времени, ни ресурсов для создания порта Windows. Эта очень небольшая группа людей также оказалась людьми, которые изобрели Unix, так что это была естественная первая цель.


AFAIK, они развивают Go в течение 20% времени, а не на полную ставку. (Во всяком случае, это то, что я читал.) В любом случае, мой ответ должен был быть очень-большим-очень-глубоким в щеку.
Jörg W Mittag

2
Фактически, на странице истории говорится, что, хотя он начинался как проект в свободное время, теперь это проект на полную ставку, по крайней мере, для некоторых разработчиков. Я отредактировал ответ, чтобы в основном удалить замечания об ограничениях на неполный рабочий день.
Jörg W Mittag

И я upvoting вам за это :)
OscarRyz

Они изобрели Unix? Так это пенсионный проект?
Хенк Холтерман

10
Ну, они также изобрели Plan9, преемника Unix. И Inferno, преемник Plan9. И C. и Limbo, язык системного программирования со сборкой мусора, на котором написан Inferno. (Так, в некотором смысле преемник C и предшественник Go.) И язык параллельного программирования Newsqueak (также в некотором смысле предшественник Go, особенно Goroutines.) И Very Concurrent Garbage Collector, который используется в Limbo, Inferno, а также в некоторых реализациях Standard ML. И UTF-8. Так что не похоже, чтобы они не были заняты за 40 лет между Unix и Go.
Jörg W Mittag

3

Так что, если вы, как и я, много времени работаете в Windows и хотите заняться программированием на Go прямо сейчас, вы можете сделать это на виртуальной машине. Я использую VirtualBox с Ubuntu в незаметном режиме. Я уже настроил его, потому что мне нравится Linux больше, чем Windows во многих вещах.

Создание и работа с Go были для меня абсолютно безболезненными. У меня в терминале открыт Bash, чтобы запустить сборку и опробовать приложение. Исходный каталог - это общая папка между Windows и Linux (функция VirtualBox, но я уверен, что VMWare имеет то же самое). Я редактирую свой код в Komodo Edit в Windows и использую Mercurial для одного и того же исходного кода в обеих ОС.


Как было предложено выше, я получил ubuntu на машине с Windows (с виртуальным боксом), а затем начал работу.
user132797

3

Еще нет.

Авторы Go имеют очень-очень глубокие корни в операционных системах, отличных от Windows (Интересный факт: кто из них создал не меньше, чем сама операционная система UNIX)

Так что не ждите от них в ближайшее время порта Windows.

Язык является открытым исходным кодом, так что реализация Windows станет лишь вопросом времени (от 6 до 8 месяцев).


2
Ваша связь между автором Unix, пишущим компилятор в свободное время, и «не ожидайте порта Windows» интересна, учитывая, что они указывают в журнале изменений (см. Ответ mbarnett), что это просто потому, что у них нет ресурсов .
Джед Смит

2
Просто еще одна (мягкая) формулировка «все равно».
ttvd

1
Да, это как Линус, который сам создает порт git для Windows. Этого никогда не произойдет (хотя порт создается другими)
OscarRyz

0

Хотя на данный момент нет версии для Windows, предположительно ее можно скомпилировать с помощью Cygwin на платформе Windows.


1
Вы можете скомпилировать его под cygwin с большим количеством доработок, но даже тогда вы получите компилятор 6g / 8g, который выводит ELF, а не собственный двоичный файл Windows. Однако это все равно будет хорошим первым шагом. code.google.com/p/golang-on-cygwin После успешной сборки следующим шагом будет исправление компилятора для создания исполняемого кода Windows.
Alan S


-2

Установка Go в Windows выполняется просто, если вы используете экспериментальный порт x32 для Windows . Документацию по установке Go в Windows можно найти здесь

Возможно, вам также понадобятся инструменты MinGW (bash, make, gcc и т. Д.): Http://sourceforge.net/projects/mingw/files/

а также файлы и инструменты GTK + («универсальный комплект» включает pkg-config): http://www.gtk.org/download/win32.php

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.