亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么在生產環境中運行 Go 應用程序時建議使用 `go build` 而不是 `go run`?

為什么在生產環境中運行 Go 應用程序時建議使用 `go build` 而不是 `go run`?

Go
江戶川亂折騰 2022-05-23 17:44:24
我有一個 Dockerfile,用于編譯 Go 應用程序go build。我研究過,確實go build被推薦用于生產。但是我找不到一個正確的答案來解釋為什么。我了解go run會創建一個臨時文件,該文件會在應用程序終止時進行清理。但是,如果我使用的是 Docker,為什么使用go run而不是Docker 不好go build呢?
查看完整描述

1 回答

?
MYYA

TA貢獻1868條經驗 獲得超4個贊

幾個原因:

  • Go 應用程序不需要 Go 工具鏈,就像 C 應用程序不需要gcc. 如果你使用go build,你可以只部署一個二進制文件;如果使用go run,則必須安裝工具鏈。

  • go run每次運行時都會不必要地編譯應用程序,從而增加啟動時間。

  • go run將應用程序分叉到一個新進程,通過模糊 PID 和退出狀態使進程管理不必要地復雜化。

  • go run當您只打算運行應用程序時,可能會意外吸收代碼更改。僅在您需要新的二進制文件時使用go build,可以讓您每次都重新運行相同、一致的二進制文件,而不會發生意外更改。


查看完整回答
反對 回復 2022-05-23
  • 1 回答
  • 0 關注
  • 197 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號