命令go build
和go install
将文件编译为二进制文件。 go run
编译或解释文件吗?我在网上找不到解释,可能错过了。欣赏指针。谢谢!
答案 0 :(得分:14)
它或多或少等同于运行go build X.go -o /tmp/random-tmp-folder/exe && /tmp/random-tmp-folder/exe
答案 1 :(得分:5)
go run
命令编译并运行由命令行中指定的.go文件组成的主程序包。该命令被编译为临时文件夹。
go build
和go install
检查目录中的文件,以确定主程序包中包含哪些.go文件。
答案 2 :(得分:2)
与在执行时创建和解释bytcode的java不同,go创建一个可执行文件,该文件依赖于正在使用的机器,如c,c ++。
答案 3 :(得分:0)
命令go run
在后台执行项目的构建(因此,它可以构建项目)
并带有标志--work(go run --work main.go
),您可以看到临时构建文件的位置。
也在官方文档(go1.11
)中,您可以找到:
go run
-编译并运行命名的主Go程序包。
go build
-编译由导入路径命名的包,
以及它们的依赖性,但不会安装结果。
go install
-编译并安装由导入路径命名的软件包。