2009-11-11 12 views
17

mam Przejść skompilować:Jak mogę skompilować program Go?

 
0 known bugs; 0 unexpected bugs 

i wpisane w "Hello World":

package main 

import "fmt" 

func main() { 
    fmt.Printf("Hello, 世界\n") 
} 

Potem próbował go skompilować, ale nie pójdzie:

 
$ 8c gotest2 
gotest2:1 not a function 
gotest2:1 syntax error, last name: main 

To dzieje się na Ubuntu Linux na Pentium. Idź zainstalowany i zdaj testy. Więc dokąd się pomyliłem? Czy ktoś może mi powiedzieć, dokąd się udać?

Próbowałem też this program:

package main 

import fmt "fmt" // Package implementing formatted I/O. 


func main() { 
    fmt.Printf("Hello, world; or Καλημέρα κόσμε; or こんにちは 世界\n"); 
} 

Ale to było również przejdź (musi przestać robić iść kalambury):

 
$ 8c gotest3.go 
gotest3.go:1 not a function 
gotest3.go:1 syntax error, last name: main 
+1

próbowałeś go bez kanji ? – barkmadley

+0

@barkmadley: Próbowałem tego i ponownie otrzymałem ten sam komunikat o błędzie. –

Odpowiedz

11

Używasz 8c, który jest kompilator C. 8g skompiluje go, a 8l połączy.

+0

8c jest kompilatorem plan-9 c, który jest dołączony do funkcji go, jest oddzielny od systemu c kompilator –

+0

Masz rację. –

+0

Jeśli chodzi o inne odpowiedzi, średnik jest opcjonalny na końcu bloku (prawdopodobnie dla jednolinijkowych, chociaż wydaje mi się to kiepskim pomysłem), a importujący fmt "fmt" zmienia nazwę przestrzeni nazw, więc możesz użyć np. importuj goformat "fmt", a następnie wywołaj goformat.Print() –

-4

także wydają się być brakuje fmt

import fmt "fmt" 

as znalezione w tu torialnego w pierwsza odpowiedź jest link

Ah, widzę, że próbowaliśmy, że teraz ...

+0

Z ciekawości, czy teraz obie wersje kodu się kompilują? To ciekawe, że przykład na stronie głównej GoLang.org jest nieco inny niż w samouczku. – ulkash

+0

Tak, oba się kompilują. –

3

(Aktualizacja Go1.0.x)

Sekcja "Compile packages and dependencies" teraz wymienić go zbudować jako sposób skompilować w podróży.
Nadal wywołujesz za sceną 8g, a parametry, które można przekazać 8g, są teraz przekazywane z -gcflags.

-gcflags 'arg list' 

argumenty przekazać każdej 5g, 6g lub 8g kompilatora inwokacji

36

Dla idź 1.0+ poprawna komenda kompilacji jest teraz: go build

Powiązane problemy