Golang 使用github托管go类库

golang

在golang开发中,我们经常会使用到其他组织或个人开源的golang框架或类库,例如github.com/spf13/viper,可直接使用命令将类库下载到本地的$GOPATH下:

go get github.com/spf13/viper

那么如何使用github托管自己的工具类库,便于其他人方便的使用呢?本篇即简单演示。

1、创建github仓库托管go类库代码,例如common-go:

image-20210302215309743

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类库代码,例如:

image-20210302220434035

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中可以看到发布的版本

image-20210302222520925

7、创建demo-go项目,测试使用go类库:

go mod init demo-go

在go.mod引入github.com/vsixz/common-go@v1.0.0

image-20210302225614040

调用github.com/vsixz/common-go库的hello.Say方法:

image-20210302231322807

8、运行:

$ go run main.go
test hello:
Hello, Jay

gzh

原文地址:https://www.cnblogs.com/Med1tator/p/14472115.html