- 我对一个库提交了新的修改,为什么在我运行
go get -u
或go list -m -versions
时它却没有出现?
如果你正在使用 Goproxy.cn
作为你的 Go
模块代理, 那么你需要知道为了改善缓存和服务等待时间,新修改可能不会立即出现。 如果你希望新修改立即出现在 Goproxy.cn
中,
则首先确保在源库中有此修改的语义化版本的标签, 接着通过 go get module@version
来显式地请求那个发行版。 在几分钟过后缓存过期,go
命令就能看到那个发行版了。
- 我从我的库中移除了一个有问题的发行版,但它却仍然出现,我该怎么办?
如果你正在使用 Goproxy.cn
作为你的 Go
模块代理, 那么你需要知道为了避免依赖你的模块的人的构建被破坏,
Goproxy.cn
会尽可能地缓存内容。 因此,即使一个发行版在源库中已经不存在了, 但它在 Goproxy.cn
中却仍然有可能继续存在。 如果你删除了你的整个库,则情况相同。 我们建议你创建一个新的发行版并鼓励人们使用它,
而不是移除一个已发布的。
判断切片中是否包含某元素:
- 遍历
- 用map
所有的操作系统值:
Mac
是darwin
。
命令行参考链接:
cmd执行区别:
cmd.Run()
:阻塞当前执行,直至命令执行结束,等价于cmd.Start()+cmd.Wait()
。cmd.Start()/cmd.Wait()
:二者必须配合使用,cmd.Start()
开始执行命令,但不阻塞执行。cmd.Wait()
阻塞当前执行,直至命令执行结束。