2009-11-11 13 views
17

J'obtenu Go compiler:Comment puis-je compiler un programme Go?

 
0 known bugs; 0 unexpected bugs 

typées et dans le "bonjour monde":

package main 

import "fmt" 

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

Alors j'ai essayé de le compiler, mais il ne serait pas aller:

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

Ceci est en cours sur Ubuntu Linux sur Pentium. Allez installé et passé ses tests. Alors, où est-ce que je me suis trompé? Quelqu'un peut-il me dire où aller à partir d'ici?

J'ai aussi essayé this program:

package main 

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


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

Mais c'était pas non plus aller (doit cesser de faire passer les jeux de mots):

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

Avez-vous essayé sans les kanjis ? – barkmadley

+0

@barkmadley: J'ai essayé, et j'ai encore reçu le même message d'erreur. –

Répondre

11

Vous utilisez 8c, qui est le compilateur c. 8g va compiler aller, et 8l va lier.

+0

8c est le compilateur plan-9 c qui vient avec go, il est séparé de vous les systèmes c compiler –

+0

Vous avez raison. –

+0

En ce qui concerne les autres réponses, un point-virgule est facultatif à la fin d'un bloc (supposément pour les répliques simples, bien que cela me semble une mauvaise idée) et l'importation fmt "fmt" renomme un espace de noms. Importer goformat "fmt" et ensuite appeler goformat.Print() –

-4

vous semblent également manquer un fmt

import fmt "fmt" 

comme trouvé dans le tu riale dans la première réponse link

Ah, je vois que tu as essayé maintenant ...

+0

Par curiosité, est-ce que les deux versions du code compilent maintenant? Il est intéressant que l'exemple sur la page d'accueil de GoLang.org soit légèrement différent de celui du tutoriel. – ulkash

+0

Oui, ils se compilent tous les deux. –

3

(mise à jour pour Go1.0.x)

La section « Compile packages and dependencies » liste maintenant aller construire comme la façon de compiler en aller.
Vous appelez toujours 8g derrière la scène et les paramètres que vous pouvez passer à 8g sont maintenant passés avec -gcflags.

-gcflags 'arg list' 

arguments à transmettre sur chaque 5G, 6G ou invocation du compilateur 8g

36

Pour Go 1.0+ la commande build correcte est maintenant: go build