【发布时间】:2015-02-27 01:18:36
【问题描述】:
命令go build 和go install 将文件编译成二进制文件。 go run 是否编译或解释文件?我在网上找不到解释,可能错过了。欣赏指点。谢谢!
【问题讨论】:
-
查看
go help run解释命令。 -
运行任何带有
-x选项的命令将显示所有已执行的命令。
标签: go
命令go build 和go install 将文件编译成二进制文件。 go run 是否编译或解释文件?我在网上找不到解释,可能错过了。欣赏指点。谢谢!
【问题讨论】:
go help run 解释命令。
-x 选项的命令将显示所有已执行的命令。
标签: go
这或多或少相当于运行go build X.go -o /tmp/random-tmp-folder/exe && /tmp/random-tmp-folder/exe
【讨论】:
go run temp.go 后不知何故运行了两个进程,一个说用于运行它的命令是go run temp.go,另一个看起来更像你说的
go run 将执行此操作并在实际进程退出时完成运行。
/tmp。
go run 命令编译并运行由命令行指定的 .go 文件组成的主包。该命令被编译到一个临时文件夹中。
go build 和 go install 检查目录中的文件以确定哪些 .go 文件包含在主包中。
【讨论】:
命令go run 在后台执行项目的构建(所以是的,它构建项目)
使用标志 --work (go run --work main.go),您可以看到临时构建文件的位置。
您还可以在官方文档 (go1.11) 中找到:
go run - 编译并运行指定的主 Go 包。
go build - 编译由导入路径命名的包,
连同它们的依赖关系,但它不会安装结果。
go install - 编译并安装导入路径命名的包。
【讨论】:
与在执行时创建和解释字节码的 java 中不同,go 创建一个依赖于正在使用的机器的可执行文件,就像在 c、c++ 中一样。
【讨论】: