Как я могу скомпилировать программу Go?

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

0 known bugs; 0 unexpected bugs

и набрал "мир привет":

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. Go установлен и прошел тесты. Так где же я ошибся? Может кто-нибудь сказать мне, куда идти отсюда?

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

package main

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


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

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

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

Ответы

Ответ 1

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

Ответ 2

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

Ответ 3

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

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

-gcflags 'arg list'

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

Ответ 4

используйте go run для запуска программы go. Вот вывод.

$ cat testgo.go

package main

import "fmt"

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

$go run testgo.go

Hello, 世界

Ответ 5

Также вам не хватает fmt

import fmt "fmt"

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

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