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

时间:2016-11-05 03:44:54

标签: go compilation

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

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

这究竟是如何工作的,是创建然后删除的可执行文件,还是像翻译一样运行代码?

1 个答案:

答案 0 :(得分:1)

创建临时可执行文件。 go测试也是如此。

go test

上的文档

The package is built in a temporary directory so it does not interfere with the non-test installation.

Source

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