Question
I got Go to compile:
0 known bugs; 0 unexpected bugs
and typed in the "hello world":
package main
import "fmt"
func main() {
fmt.Printf("Hello, 世界\n")
}
Then I tried to compile it, but it wouldn't go:
$ 8c gotest2 gotest2:1 not a function gotest2:1 syntax error, last name: main
This is going on on Ubuntu Linux on Pentium. Go installed and passed its tests. So where did I go wrong? Can someone tell me where to go from here?
I also tried this program:
package main
import fmt "fmt" // Package implementing formatted I/O.
func main() {
fmt.Printf("Hello, world; or Καλημέρα κόσμε; or こんにちは 世界\n");
}
But this was also no go (must stop making go puns):
$ 8c gotest3.go gotest3.go:1 not a function gotest3.go:1 syntax error, last name: main
Solution
You're using 8c, which is the c compiler. 8g will compile go, and 8l will link.
OTHER TIPS
For Go 1.0+ the correct build command is now: go build
(Update for Go1.0.x)
The section "Compile packages and dependencies" now list go build as the way to compile in go.
You still call 8g
behind the scene, and the parameters you could pass to 8g
are now passed with -gcflags
.
-gcflags 'arg list'
arguments to pass on each 5g, 6g, or 8g compiler invocation