摘要:
通常在使用“go get”时可能是指定到一个包路径,而非模块路径,Go 是如何找到模块路径的呢? go 命令会在主模块(当前模块)的 build list 中搜索有哪些模块路径匹配这个包路径的前缀。举个例子,如果导入的包路径是 example.com/a/b,发现 example.com/a 是一个 阅读全文
摘要:
从主版本号 2 开始,模块路径中必须添加一个像 /v2 这样的一个和主版本号匹配的后缀。举个例子如果一个模块在版本 v1.0.0 是的路径为 example.com/test,那么它在 v2.0.0 时的路径将是 example.com/test/v2。 主版本号后缀遵循导入兼容规则: 如果一个新代 阅读全文
摘要:
伪版本号是一种预发布版本号的格式,其中包含了指定的 commit hash 值。另外,对于没有打标签的代码库,也可以使用伪版本号来表明某个版本,它可以在正式发布某个版本之前方便的进行测试。举个例子,每个伪版本号都有三部分组成: 基本版本前缀(vX.0.0 或 vX.Y.Z-0),它要么源自修订版之前 阅读全文
摘要:
Go 使用 “module path” 来区分不同的 module 模块,它在 go.mod 文件中被定义,这个文件中还包含了这个模块编译所需的其他依赖。如果一个目录中包含了 go.mod 文件,那么这个目录就是这个 Go 模块的根目录了。 另外,还要介绍下包(package) 这个概念,它在 Go 阅读全文