Как я могу скомпилировать программу Go? - PullRequest
18 голосов
/ 11 ноября 2009

Я получил Go для компиляции:

0 known bugs; 0 unexpected bugs

и напечатано в "Hello World":

package main

import "fmt"

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

Затем я попытался скомпилировать его, но оно не пошло:

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

Это происходит в Ubuntu Linux на Pentium. Иди установил и прошел свои тесты. Так где я ошибся? Может кто-нибудь сказать мне, куда идти отсюда?

Я тоже пробовал эту программу :

package main

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


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

Но это тоже было не по пути (должен прекратить делать каламбуры) :

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

Ответы [ 4 ]

38 голосов
/ 24 октября 2012

Для Go 1.0+ правильная команда сборки теперь: go build

12 голосов
/ 11 ноября 2009

Вы используете 8c, который является компилятором c. 8g скомпилирует go, а 8l скомпонует.

3 голосов
/ 23 июля 2012

(обновление для Go1.0.x)

В разделе " Компиляция пакетов и зависимостей " теперь список go build как способ компиляции в go.
Вы по-прежнему вызываете 8g за сценой, и параметры, которые вы можете передать 8g, теперь передаются с -gcflags.

-gcflags 'arg list'

аргументы для передачи при каждом вызове компилятора 5g, 6g или 8g

0 голосов
/ 11 ноября 2009

Также, кажется, вам не хватает fmt

import fmt "fmt"

как указано в руководстве по ссылке первого ответа

Ах, я вижу, что вы попробовали это сейчас ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...