Go Build 不必要的重建
Go 的建構過程可能非常慢,特別是對於涉及 Cgo 呼叫的程式。為了解決這個問題,很容易利用帶有 % 規則的 Makefile 進行快取。然而,根據語言設計者的說法,Go 的建置支援已經使 Makefile 過時了。
替代解決方案
Go 社群更喜歡替代方案:由go 指令本身。此快取儲存所建置的套件和元數據,透過盡可能重複使用先前的建置步驟來優化建置流程。
實作與好處
從 Go 1.10(2018 年第 1 季)開始, go build 和 go install 已經實現了這個建置快取。可以使用 $GOCACHE 環境變數設定快取位置。預設情況下,它駐留在作業系統的使用者快取目錄中。 go clean -cache 指令可用於清除快取而不刪除日誌檔案。
建置快取不僅可以加速「go test」和「go build」指令,還可以預設啟用增量建置。用戶不再需要求助於「go test -i」或「go build -i」等解決方法來實現快速增量建置。
以上是為什麼 Go 的建置快取是 Makefile 的更好替代方案以實現更快的建置?的詳細內容。更多資訊請關注PHP中文網其他相關文章!