Go | 製作並發布自己的套件
💬 簡介
撰寫一個好用的 Go 套件後,是否想過讓更多人受益?只要你能將它模組化並上傳至 GitHub,其他開發者便能透過 go get
輕鬆使用你的作品。
Go 語言的模組系統(Go Modules)讓套件分享變得簡單易行。本篇將手把手教你:
- 如何建立一個模組化的 Go 套件
- 如何發布至 GitHub
- 如何讓其他人透過
go get
使用你的套件
圖片來源:Gophers
🏗️ 建立自己的套件模組
📁 目錄結構設計
你可以為自己的套件建立一個新的 Git 專案,例如:1
2
3
4
5go-greetings/
├── go.mod
├── greetings/
│ └── greetings.go
└── README.md✏️ 撰寫套件內容
greetings/greetings.go
:1
2
3
4
5
6
7
8package greetings
import "fmt"
// Hello 回傳一段問候語
func Hello(name string) string {
return fmt.Sprintf("你好,%s!", name)
}🧾 初始化模組
進入專案根目錄後,執行:例如:1
go mod init github.com/你的GitHub帳號/go-greetings
系統會產生1
go mod init github.com/mylab/go-greetings
go.mod
檔案,宣告模組路徑。
☁️ 發布到 GitHub
- 前往 GitHub 建立一個公開儲存庫,如
go-greetings
。 - 使用 Git 推送專案內容:
1
2
3
4
5
6git init
git add .
git commit -m "初始版本"
git branch -M main
git remote add origin https://github.com/你的帳號/go-greetings.git
git push -u origin main
🚀 讓別人使用你的套件
只要你成功將模組推送至 GitHub,其他開發者便可在他們的專案中使用:
1 | go get github.com/你的帳號/go-greetings@latest |
範例使用方式:
1 | package main |
系統會自動從 GitHub 抓取模組內容並加入 go.mod
相依性。
🏷️ 發布版本標籤(可選)
如果你想讓使用者引用特定版本,可使用 Git 標籤(tag):
1 | git tag v1.0.0 |
使用者便可指定版本安裝:
1 | go get github.com/mylab/go-greetings@v1.0.0 |
💪 測試與最佳實踐
- ✅ 套件應該具備良好的結構與命名
- ✅ 建議搭配單元測試與說明文件(README.md)
- ✅ 上傳前請檢查 go.mod 與 go.sum 正確性
- ✅ 保持公開權限,並使用乾淨的模組路徑
📚 實用補充資訊
類別 | 資源說明 |
---|---|
官方教學 | Go Modules 發布指南 |
套件探索站 | pkg.go.dev |
範例專案 | greetings example |
🎯 總結
將自己的 Go 套件模組化並發布到 GitHub,不僅能提升專案維護性,也能讓其他開發者直接使用並貢獻。
本篇重點如下:
- ✅ 使用
go mod init
建立模組化專案 - ✅ 將模組上傳至 GitHub 並設定正確模組路徑
- ✅ 可透過
go get
讓其他人輕鬆引用你的套件 - ✅ 支援版本控制(tag)與模組相依管理
最後建議回顧一下 Go | 菜鳥教學 目錄,了解其章節內容。
註:以上參考了
Go