Golang - "go run main.go"和编译之间的区别

use*_*268 22 performance command-line compilation go

在Go中编写了一些脚本后,我问自己,.go-file 的编译与后来的执行和go run FILE.go命令在性能等方面是否有任何区别.

如果我使用这些方法之一启动Web服务,是否有任何优势?

Inn*_*ate 39

go run只是编译然后在一个步骤中运行的快捷方式.虽然它对开发很有用,但您通常应该在生产中使用它时直接构建它并运行二进制文件.


Vla*_*pak 7

对于 DEV(本地)环境 - 使用go run
对于 PROD 环境 - 使用go install这个比它更好,go build因为它会安装包和依赖项,并且你将拥有 Go 工具链。


小智 5

'go install' 命令将在 pkg 文件夹下创建共享库编译文件为 package.a,在 bin 目录下创建 exec 文件。

go run 命令在进行开发时很有用,因为它只是为您编译和运行它,但不会在 pkg 文件夹和 src 文件夹中生成二进制文件