2009-11-11 15 views
17

ho avuto Vai per compilare:Come posso compilare un programma Go?

 
0 known bugs; 0 unexpected bugs 

e digitato nel "Ciao mondo":

package main 

import "fmt" 

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

Poi ho provato a compilarlo, ma non sarebbe andato:

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

Questo sta succedendo su Ubuntu Linux su Pentium. Vai installato e superato i test. Allora, dove ho sbagliato? Qualcuno può dirmi dove andare da qui?

Ho anche provato this program:

package main 

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


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

ma questo era anche no go (deve smettere di fare andare giochi di parole):

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

hai provato senza il kanji ? – barkmadley

+0

@barkmadley: l'ho provato e ho ricevuto di nuovo lo stesso messaggio di errore. –

risposta

11

Stai utilizzando 8c, che è il compilatore C. 8g verrà compilato e 8l si collegherà.

+0

8c è il compilatore plan-9 c che viene fornito con go, è separato dal tuo sistema di compilatori c –

+0

Hai ragione. –

+0

Per quanto riguarda le altre risposte, un punto e virgola è facoltativo alla fine di un blocco (presumibilmente per one-liners, anche se mi sembra una cattiva idea) e l'importazione fmt "fmt" rinomina uno spazio dei nomi, quindi è possibile utilizzare ad es. import goformat "fmt" e poi chiama goformat.Print() –

-4

Inoltre è sembrano mancare un fmt

import fmt "fmt" 

come trovato nel tu torial in link

Ah della prima risposta, vedo che hai provato che ora ...

+0

Per curiosità, entrambe le versioni del codice vengono compilate ora? È interessante notare che l'esempio sulla home page di GoLang.org è leggermente diverso da quello del tutorial. – ulkash

+0

Sì, entrambi compilano. –

3

(Aggiornamento per Go1.0.x)

La sezione "Compile packages and dependencies" ora lista tornare costruire come il modo per compilare in movimento.
Si chiama ancora 8g dietro la scena ei parametri che è possibile passare a 8g vengono passati con -gcflags.

-gcflags 'arg list' 

argomenti da passare su ogni 5g, 6g, o 8g compilatore invocazione

36

Per Go 1.0+ il comando corretto build è ora: go build