
在golang開發中,我們經常會使用到其他組織或個人開源的golang框架或類庫,例如github.com/spf13/viper,可直接使用命令將類庫下載到本地的$GOPATH下:
go get github.com/spf13/viper
那么如何使用github托管自己的工具類庫,便於其他人方便的使用呢?本篇即簡單演示。
1、創建github倉庫托管go類庫代碼,例如common-go:

2、將倉庫克隆至本地:
git clone https://github.com/vsixz/common-go.git
3、初始化go類庫的module:
cd common-go
go mod init github.com/vsixz/common-go
注意:
使用
go env命令查看是否開啟go-module功能,如果沒開啟需要設置環境變量:go env -w GO111MODULE=on;module名稱需要與github倉庫一致,這樣其他人才能通過
go get github.com/vsixz/commmon-go下載到你的類庫。
4、編寫go類庫代碼,例如:

5、提交go代碼到github:
git add .
git commit -m "add hello"
git push -u origin main
6、發行版本
最佳實踐是創建對應的版本發布分支,然后使用發布分支創建tag,發布:
git checkout -b release/v1.x
git push -u origin release/v1.x
git tag v1.0.0
git push --tags
此時,在github倉庫release中可以看到發布的版本

7、創建demo-go項目,測試使用go類庫:
go mod init demo-go
在go.mod引入github.com/vsixz/common-go@v1.0.0:

調用github.com/vsixz/common-go庫的hello.Say方法:

8、運行:
$ go run main.go
test hello:
Hello, Jay

