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

问题描述 投票:18回答:3

在Go中编写了一些脚本后,我问自己,在性能等方面编译.go文件和后来执行以及go run FILE.go命令之间是否存在任何差异。

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

performance command-line go compilation
3个回答
33
投票

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


2
投票

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

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


1
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.