登录
首页 >  Golang >  Go问答

使用 go run 运行服务器和使用 ./main 有什么不同?

来源:stackoverflow

时间:2024-03-22 10:24:40 440浏览 收藏

在 Go 中,`go run` 和 `./main` 用于运行服务器。`go run` 编译并直接运行指定的 Go 包,而 `./main` 则在编译应用程序后运行可执行文件。对于本地环境,`go run` 更为方便,因为它无需编译应用程序。然而,对于生产环境,`go build` 构建应用程序并运行可执行文件更佳,以获得更好的性能和安全性。

问题内容

我有一个 go 服务器,通常像这样运行:

go 构建。 && ./main

但是在网上我看到很多使用 go run 的例子。哪个更好用,有什么区别?


解决方案


来自官方文档(go1.11):

go run - 编译并运行指定的主 Go 包。

go build - 编译由导入路径命名的包, 及其依赖项,但它不会安装结果。

go install - 编译并安装由导入路径命名的软件包。

意思是:

通常对于本地环境,可以使用 go run
但对于 PROD 环境,最好使用 go build 构建应用程序并运行 ./main
但如果您需要 Go 工具链,则必须使用 go install 因为它会安装软件包和依赖项并运行 ./bin/main (这在开发/阶段环境中可能有意义)。

到这里,我们也就讲完了《使用 go run 运行服务器和使用 ./main 有什么不同?》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>