Чи можна встановити компілятор 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. Він може компілювати, посилати та запускати ваші програми та показувати результати. Будь ласка, надішліть мені приватне повідомлення, якщо ви виявите на цьому сайті будь-яку вразливість. Дякую!
Ренді Сугіанто 'Юку'

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

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

Ще одна збірка
Go32 для

На жаль, я не можу змусити цей порт працювати коректно. компонент 8l завжди скаржиться на відсутність runtime.a, а також він аварійно завершує роботу незабаром після виклику.
greatwolf

1
@Victor: Я щойно це налаштував (11.12.2010), і це чудово працює для компіляції та зв’язування прикладів HelloWorld, PrimeSieve та Wiki. І всі три програми працюють.
Лоуренс Дол

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

1
Дякую Йонасу за приємну та корисну відповідь.
bhadra

23

Він ще не потрапив до поширених запитань про Go Lang, але з журналу змін :

Чому не запускається Windows? Ми розуміємо, що значна частина комп’ютерів у світі працює під управлінням Windows, і було б чудово, якби ці комп’ютери могли запускати програми Go. Однак команда Go невелика, і на даний момент у нас немає ресурсів для порту Windows. Ми були б більш ніж готові відповісти на запитання та запропонувати поради всім, хто бажає розробити версію Windows.


5
Незважаючи на те, що ця відповідь є голосною, вона зараз застаріла.


7

Незважаючи на те, що Go лише два дні, це питання вже стало поширеним запитанням у списку розсилки Go. (На жаль, він ще не доданий до списку поширених запитань на веб-сайті.)

В основному, Go виконує дуже мала група людей, тому вони просто не мають ні часу, ні ресурсів, щоб виконати порт Windows. Дуже мала група людей також є тими, хто винайшов Unix, тож це було якоюсь природною першою метою.


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

2
Насправді на сторінці історії зазначається, що, хоча вона починалася як проект вільного часу, зараз це штатний проект принаймні для деяких розробників. Я відредагував відповідь, щоб в основному видалити зауваження щодо обмежень на неповний робочий день.
Jörg W Mittag

І я за це вас висловлюю :)
OscarRyz

Вони винайшли Unix? То це пенсійний проект?
Хенк Холтерман

10
Ну, вони також винайшли Plan9, наступника Unix. І Інферно, наступник Plan9. І К., і Лімбо, мова програмування систем зібраного сміття, на якій написаний Inferno. (Отже, в певному сенсі наступник C і попередник Go.) І паралельна мова програмування Newsqueak (також у певному сенсі попередник Go, особливо Горутини.) І дуже одночасний збирач сміття, який використовується в Limbo, Inferno, а також у деяких реалізаціях Standard ML. І UTF-8. Отже, це не схоже на те, що вони не зайняті 40 років між Unix та Go.
Йорг Ш Міттаг

3

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

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


Як було запропоновано вище, я отримав ubuntu на машині Windows (з virtualbox), а потім почав працювати.
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

Якщо ви використовуєте експериментальний порт x32 для Windows, установка Go on 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.