![6cc0b53f15493a046c12929641f58f08.png](https://i-blog.csdnimg.cn/blog_migrate/114a695d50aeb80a163ed803ae7fa53a.jpeg)
9月3日 Go 1.13[1] 终于发布了,虽然比预期延迟了半个月之久,但毕竟迟到总比不到好。
Go 1.13 的发布为 Go 带来了不少变化(详见: https://golang.org/doc/go1.13 ),有些变化可能是开发者无法直接感觉到的,但有些又是和开发者日常开发息息相关的。其中,Go modules 的扶正就是这次 Go 1.13 发布中开发者能直接感觉到的最大变化。
Go modules 最早发布于 Go 1.11[2],经过两个版本的更新后,它作为依赖管理解决方案来说现在已经变得光彩夺目。随着 Go modules 一起被发布的还有一个叫做 Module proxy protocol[3] 的协议,通过它我们可以搭建 Go 模块代理,最后交由 GOPROXY 环境变量以指引 go 命令后续在抓取模块时的途径。对于咱们中国的开发者来说,一个优秀的 Go 模块代理可以帮助我们解决很多问题。比如 Go 语言中最知名的 golang.org/x/... 模块在中国大陆是无法访问到的,以前我们会用很多其他的办法来抓取他们,而若依靠一个可以访问到它们的模块代理,那么将事半功倍。更因为 Go 1.13 将 GOPROXY 默认成了中国大陆无法访问的 https:/