Golang 使用github托管go类库
在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