Bisakah kompiler Go diinstal pada Windows?

94

Saya telah mencari di golang.org untuk kompiler Windows, tapi sepertinya saya tidak dapat menemukannya. Saya hanya dapat melihat kompiler Linux dan OS X. Adakah yang tahu apakah pemrograman Go dapat dilakukan di Windows, atau itu sesuatu yang belum diterapkan oleh Google?

Pembaruan: tampaknya sekarang (November 2012) golang.org memiliki rilis biner resmi untuk windows 32 / x86_64.

pengguna208987
sumber
groups.google.com/group/golang-nuts - Anda akan menemukan jawaban Anda di sana.
kar
2
gofmt.com/compile.html jika Anda ingin mencoba pemrograman Go non-destruktif di Windows. Itu dapat mengkompilasi, menautkan, dan menjalankan program Anda dan menunjukkan hasilnya kepada Anda. Tolong kirimkan saya pesan pribadi jika Anda menemukan kerentanan di situs itu. Terima kasih!
Randy Sugianto 'Yuku'
Pembaruan: kompiler erGo dirilis untuk pengujian beta minggu ini. Pengembang Russel Newquist menjawab di komentar di bawah. newquistsolutions.com/ergo
nathan
4
Saya memilih untuk menutup pertanyaan ini sebagai di luar topik karena situs web golang.org menawarkan paket windows resmi sejak rilis resmi pertama (1.0).
icza

Jawaban:

54

Sekarang ada installer untuk Windows, lihat Masuk di Windows

HelloWorld.go

package main

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

Kompilasi dengan 8g, tautkan dengan 8ldan kemudian jalankan. Contoh:

8g HelloWorld.go
8l -o HelloWorld.exe HelloWorld.8
HelloWorld
Jonas
sumber
Versi
Sayangnya saya tidak bisa mendapatkan port ini untuk bekerja dengan benar. linker 8l selalu mengeluh tentang runtime.a yang hilang dan juga error segera setelah pemanggilan.
greatwolf
1
@Victor: Saya baru saja menyiapkan ini (pada 2010-12-11), dan berfungsi dengan baik untuk menyusun dan menautkan contoh HelloWorld, PrimeSieve dan Wiki. Dan ketiga program itu berjalan.
Lawrence Dol
1
Port mingw tampaknya bekerja tanpa perlu memasang lingkungan khusus ( code.google.com/p/gomingw/downloads/list ). Setidaknya itu mengkompilasi dan menghubungkan beberapa contoh yang telah saya coba.
Lawrence Dol
1
Terima kasih kepada Jonas atas tanggapan yang baik dan bermanfaat.
bhadra
23

Ini belum masuk ke FAQ Go Lang, tapi dari changelog :

Mengapa Go tidak berjalan di Windows? Kami memahami bahwa sebagian besar komputer di dunia menjalankan Windows dan akan sangat bagus jika komputer tersebut dapat menjalankan program Go. Namun, tim Go kecil dan kami tidak memiliki sumber daya untuk melakukan port Windows saat ini. Kami akan dengan senang hati menjawab pertanyaan dan menawarkan saran kepada siapa pun yang ingin mengembangkan versi Windows.

mbarnett.dll
sumber
6
Meskipun jawaban ini sangat disukai, sekarang sudah usang.
7

Terlepas dari kenyataan bahwa Go baru berumur dua hari, pertanyaan ini sudah menjadi FAQ di milis Go. (Sayangnya, ini belum ditambahkan ke daftar FAQ di situs web.)

Pada dasarnya, Go dilakukan oleh sekelompok kecil orang, jadi mereka tidak punya waktu atau sumber daya untuk melakukan port Windows. Sekelompok kecil orang itu juga kebetulan adalah orang-orang yang menemukan Unix, jadi itu adalah target pertama yang wajar.

Jörg W Mittag
sumber
AFAIK, mereka mengembangkan Go selama 20% waktunya, bukan secara penuh. (Lagipula, itulah yang saya baca.) Bagaimanapun, jawaban saya dimaksudkan untuk menjadi sangat-besar-lidah-sangat-dalam-pipi.
Jörg W Mittag
2
Sebenarnya, halaman sejarah menyatakan bahwa meskipun dimulai sebagai proyek waktu luang, sekarang menjadi proyek penuh waktu setidaknya untuk beberapa pengembang. Saya mengedit jawaban untuk pada dasarnya menghapus komentar tentang kendala paruh waktu.
Jörg W Mittag
Dan saya mendukung Anda untuk itu :)
OscarRyz
Mereka menemukan Unix? Jadi ini adalah proyek pensiun?
Henk Holterman
10
Nah, mereka juga menemukan Plan9, penerus Unix. Dan Inferno, penerus Plan9. Dan C. Dan Limbo, bahasa pemrograman sistem pengumpulan sampah tempat Inferno ditulis. (Jadi, dalam beberapa hal penerus C dan pendahulu Go.) Dan bahasa pemrograman bersamaan Newsqueak (juga dalam beberapa hal merupakan pendahulu Go, terutama Goroutines.) Dan Pengumpul Sampah Sangat Bersamaan yang digunakan di Limbo, Inferno dan juga dalam beberapa implementasi ML Standar. Dan UTF-8. Jadi, mereka bukannya tidak sibuk selama 40 tahun antara Unix dan Go.
Jörg W Mittag
3

Jadi jika Anda, seperti saya, sering menggunakan Windows dan ingin melakukan pemrograman Go sekarang, Anda dapat melakukannya di VM. Saya menggunakan VirtualBox yang menjalankan Ubuntu dalam mode nampaknya. Saya sudah menyiapkannya karena saya lebih menyukai Linux daripada Windows untuk banyak hal.

Membangun dan bekerja dengan Go sama sekali tidak menyakitkan bagi saya. Saya membuka Bash di terminal untuk menjalankan build saya dan mencoba aplikasi saya. Direktori sumber adalah folder bersama antara Windows dan Linux (fitur VirtualBox tetapi saya yakin VMWare memiliki hal yang sama). Saya mengedit kode saya di Komodo Edit di Windows dan menggunakan Mercurial untuk kode sumber yang sama di kedua OS.

Rob Russell
sumber
Seperti yang disarankan di atas, saya mendapat ubuntu di mesin windows (dengan virtualbox) & kemudian pergi.
pengguna132797
3

Belum.

Penulis Go memiliki akar yang sangat dalam pada sistem operasi non Windows (Trivia: siapa di antara mereka yang membuat tidak kurang dari sistem operasi UNIX)

Jadi, jangan berharap memiliki port Windows dari mereka dalam waktu dekat.

Bahasa ini open source, jadi hanya masalah waktu (buat dari 6 - 8 bulan jam) untuk implementasi Windows akan tersedia.

OscarRyz
sumber
2
Hubungan Anda antara penulis Unix yang menulis kompilator di waktu luangnya dan "jangan berharap port Windows" menarik, mengingat bahwa mereka menunjukkan di changelog (lihat jawaban mbarnett) bahwa itu hanya karena mereka tidak memiliki sumber daya .
Jed Smith
2
Hanya kata-kata (lembut) lain untuk "tidak peduli".
ttvd
1
Ya, seperti Linus yang membuat port git untuk Windows sendiri. Itu tidak akan pernah terjadi (meskipun port dibuat oleh orang lain)
OscarRyz
0

Meskipun belum ada versi Windows saat ini, namun mungkin dapat dikompilasi menggunakan Cygwin pada platform Windows.

jujur
sumber
1
Anda dapat mengkompilasinya di bawah cygwin dengan banyak pengerjaan ulang, tetapi meskipun demikian, Anda akan mendapatkan kompiler 6g / 8g yang mengeluarkan ELF, bukan biner Windows asli. Namun, ini tetap merupakan langkah awal yang baik. code.google.com/p/golang-on-cygwin Setelah build berhasil, langkah selanjutnya adalah memperbaiki compiler untuk menghasilkan kode yang dapat dieksekusi windows.
Alan S
0

Berbagai upaya untuk port Go to windows sedang dilakukan.

Yang paling maju dan yang sudah dapat membangun dan menjalankan beberapa kode ada di sini: http://code.google.com/r/hectorchu-go-windows/

uriel
sumber