Go~避免重複造輪子

张占岭發表於2024-03-18

我們將公共的,可利用的程式碼進行打包,釋出到github上面,在需要的地方直接go get即可,需要注意的是go get中最小單位是包,如果一發布的專案裡包含多個子包,在go get時,應該精確到小包級別。

將go的專案發到github作成開源公用包

版本:v1.0.0,需要是3位的版本號,不然會報錯
注意:在安裝時,如果你的大包lind-go下面有多個小包,那麼你需要在每個小包下面都執行一遍下面的命令。如go get github.com/bfyxzls/lind-go/common

git標籤

# 新增標籤
git tag -a v1.0.0 -m "v1.0.0"
git push origin v1.0.0

# 刪除
git tag -d v1.0.0
git push origin :refs/tags/v1.0.0

go mod版本化

go.sum檔案是Go模組的一個關鍵檔案,用於記錄專案依賴模組的校驗和資訊,以確保構建時使用的依賴模組版本的一致性和完整性。go.sum檔案是由Go工具自動生成和維護的,其生成過程如下:

  1. 初始化專案

    • 當您在一個新的Go專案中使用Go模組時,可以透過執行go mod init <module-name>來初始化專案,並生成go.mod檔案。
  2. 新增或更新依賴

    • 當您使用go getgo buildgo run等命令引入新的依賴模組或更新已有依賴模組時,Go工具會自動更新go.mod檔案中的依賴資訊,並生成或更新go.sum檔案。
  3. 下載依賴

    • 當執行go buildgo run等命令時,Go工具會根據go.mod檔案中的依賴資訊下載相應的依賴模組,並計算每個模組的校驗和。
  4. 生成go.sum檔案

    • 在下載依賴模組的過程中,Go工具會計算每個依賴模組的內容的雜湊值,並將這些雜湊值記錄在go.sum檔案中。
  5. 校驗依賴完整性

    • 每次構建專案時,Go工具會讀取go.sum檔案中記錄的依賴模組的雜湊值,與實際下載的依賴模組進行比對,以確保依賴模組的完整性和一致性。

總之,go.sum檔案是透過計算依賴模組的雜湊值生成的,用於記錄專案依賴的校驗和資訊,以確保依賴模組的安全性和完整性。在日常開發中,無需手動編輯go.sum檔案,Go工具會自動維護和更新該檔案。

相關文章