英文:
How can I compile a Go program?
问题
我成功编译了Go代码:
<pre>
0个已知错误;0个意外错误
</pre>
并输入了“hello world”代码:
package main
import "fmt"
func main() {
fmt.Printf("Hello, 世界\n")
}
然后我尝试编译它,但是无法进行:
<pre>
$ 8c gotest2
gotest2:1 不是一个函数
gotest2:1 语法错误,最后一个名称:main
</pre>
这是在Pentium上的Ubuntu Linux上发生的情况。Go已安装并通过了测试。那我错在哪里?有人可以告诉我接下来该怎么做吗?
我还尝试了这个程序:
package main
import fmt "fmt" // 实现格式化I/O的包。
func main() {
fmt.Printf("Hello, world; or Καλημέρα κόσμε; or こんにちは 世界\n");
}
但这也不行<sub>(必须停止制造go双关语)</sub>:
<pre>
$ 8c gotest3.go
gotest3.go:1 不是一个函数
gotest3.go:1 语法错误,最后一个名称:main
</pre>
英文:
I got Go to compile:
<pre>
0 known bugs; 0 unexpected bugs
</pre>
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:
<pre>
$ 8c gotest2
gotest2:1 not a function
gotest2:1 syntax error, last name: main
</pre>
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 <sub>(must stop making go puns)</sub>:
<pre>
$ 8c gotest3.go
gotest3.go:1 not a function
gotest3.go:1 syntax error, last name: main
</pre>
答案1
得分: 42
对于Go 1.0+,正确的构建命令现在是:go build
英文:
For Go 1.0+ the correct build command is now: go build
答案2
得分: 12
您正在使用的是8c,这是C编译器。8g将编译Go代码,而8l将进行链接。
英文:
You're using 8c, which is the c compiler. 8g will compile go, and 8l will link.
答案3
得分: 3
(Go1.0.x更新)
“编译包和依赖关系”部分现在将go build列为在go中进行编译的方式。
在幕后仍然调用8g
,现在可以通过-gcflags
传递给8g
的参数也会被传递。
-gcflags '参数列表'
在每个5g、6g或8g编译器调用中传递的参数
英文:
(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
答案4
得分: 0
使用go run
$ cat testgo.go
package main
import "fmt"
func main() {
fmt.Printf("Hello, 世界\n")
}
$go run testgo.go
Hello, 世界
英文:
use go run <filename> to run the go program. Here is the output.
$ cat testgo.go
package main
import "fmt"
func main() {
fmt.Printf("Hello, 世界\n")
}
$go run testgo.go
Hello, 世界
答案5
得分: 0
要编译Go代码,请使用以下命令:
go tool compile gotest3.go # 创建一个目标文件。
go tool link -o gotest3 gotest3.o # 从目标文件编译。
chmod +x gotest3 # 添加可执行权限。
./gotest3 # 运行可执行文件。
英文:
To compile Go code, use the following commands:
go tool compile gotest3.go # To create an object file.
go tool link -o gotest3 gotest3.o # To compile from the object file.
chmod +x gotest3 # To apply executable flag.
./gotest3 # To run the binary.
答案6
得分: 0
进入工作目录并编译- go build
英文:
Go into the working directory and to compile- go build
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论