go - 在 go 编译器中使用 run 命令时,可执行文件会发生什么情况?

标签 go compilation

使用 go build myprogam.go 生成一个可执行文件,这是我在使用编译器时熟悉的文件。

但是,使用 go run myprogram.go 不会创建任何可执行文件并仍然运行该程序。

这到底是如何工作的,是创建然后删除可执行文件,还是像解释器一样运行代码?

最佳答案

创建了一个临时可执行文件。 go test也是如此。

关于go test的文档

该包构建在一个临时目录中,因此它不会干扰非测试安装。

Source

您还可以运行 fmt.Println(os.Args[0]) 来查看正在创建的可执行文件。

关于go - 在 go 编译器中使用 run 命令时,可执行文件会发生什么情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40434532/

相关文章:

go - 编译应用程序时可以要求最低 Go 版本吗?

string - 如何将整个文件读入字符串变量

c++ - 资源编译器无法编译 Win32 资源脚本中的枚举语句?

Android Studio - 出现错误 : java. util.zip.ZipException:只有 DEFLATED 条目可以有 EXT 描述符

erlang - 如何编译加载到字符串中的erlang代码?

mongodb - Golang 和 Mgo 按 $natural : -1 排序

go - golang实现全文搜索的高效方式

mongodb - 在Go中删除MongoDB中的数组元素

c# - Silverlight 项目编译失败

c++ - 慢链接阶段