Go Mod的使用以及在github上发布使用

1.介绍

在Go 1.11之后go的包管理工具就已经开始转向使用Go Module而不是GOPATH了,输入go env就可以看到自己的go 版本以及GO111MODULE是否打开,如下:
上面GO111Module上面GO111MODULE表示 GO mod是否打开,GOPATH是go get后包的存放路径,GOPROXY则是设置的代理。

2.GO Mod的使用

尝试在本地新建一个hello项目并初始化,如下:
在这里插入图片描述
得到目录结构如下:
在这里插入图片描述
新建hello.go文件:

package hello

import (
	"rsc.io/quote/v3"
)

// hello
func Hello() string {
	return quote.HelloV3()
}

func Proverb() string {
	return quote.Concurrency()
}

test_hello.go:

package hello

import "testing"

func TestHello(t *testing.T) {
	want := "Hello, world."
	if got := Hello(); got != want {
		t.Errorf("Hello() = %q, want %q", got, want)
	}
}

func TestProverb(t *testing.T) {
	want := "Concurrency is not parallelism."
	if got := Proverb(); got != want {
		t.Errorf("Proverb() = %q, want %q", got, want)
	}
}

然后执行 go mod init,如下:
在这里插入图片描述
其中go.mod就是我们的包管理文件:
在这里插入图片描述
其中module指定了我们的包的名称,此处名称一定要是在托管平台下的路径,否则之后go get会找不到包。go 1.15申明go的版本。
哦哦,上面的test_go.go命名错,测试文件后缀必须要是_test,否则不会被检测到,目前目录结构如下:
在这里插入图片描述
执行测试用例观察是否通过:
在这里插入图片描述
go test时,go工具会帮我们检查项目里面的依赖并下载,此时go.mod文件如下:
在这里插入图片描述
其中多了一个require 后面时要求的包以及版本,另外目录下为多出一个go.sum文件:
在这里插入图片描述
一般不需要更改该文件,它存储着依赖包的校验码,防止相同的包重复下载。
完成后可以将我们的包打tag并提交到远程:
在这里插入图片描述
至此我们的包就可以通过go get安装了,我们新建一个项目:
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
最后只要我们通过go get命令后,经过代理,就可以在go.dev上搜索到我们已经发布的包,所有人均可使用,如下:
在这里插入图片描述
结束。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值