专有名词清单
编译约束: 在编译包时是否使用 Go 源文件的条件。编译约束可以通过文件名后缀(例如, foo_linux_amd64.go
) 或者使用编译约束声明 (例如, // +build linux,amd64
)进行表示。详见 编译约束.
编译列表: 模块版本列表将被用作编译命令,例如go build
, go list
, 或 go test
。编译列表可以从主Module的 go.mod
文件 和 go.mod
文件确定需要引入模块的最低版本。编译列表包含了所有模块的Module图, 不仅仅是那些与之相关的特定的命令。
规范版本: 一个正确的格式化的版本 不使用元数据后缀进行编译,而不是+incompatible
。例如, v1.2.3
是一个规范版本, 而v1.2.3+meta
却不是。
当前模块: 主Module的同义词。
废弃的模块: 一个模块不在被它的作者维护 (尽管主要版本被视为不同的模块)。 一个废弃的模块在最新版本的 go.mod
文件中会被标记为废弃声明.
直接依赖: 一个包它的路径中在.go
源文件中出现了对(另)一个包的import
依赖或者是在测试的主Module中, 又或这个模块包含了一个这样的包。 (比较 间接依赖。)
直接模式:导致go
命令直接从a下载模块的环境变量的设置版本控制系统,而不是Module代理。GOPROXY=direct
为所有模块做到这一点。GOPRIVATE
和GONOPROXY
为匹配模式列表的模块执行此操作。
go.mod
文件:定义模块路径,要求和其他元数据的文件。出现在Module的根目录。请参阅go.mod
文件的部分。
导入路径:用于在GO源文件中导入包的字符串。与包路径同义。
间接依赖项:通过包或在主Module中进行包裹或测试的包裹,但其路径不会出现在任何内容中import
声明主模块;或Module图中出现的模块但不提供主模块直接导入的任何包。 (比较直接依赖性。)
Lazy模块加载: Go 1.17的更改,避免加载Module图,用于在模块中不需要它的命令指定go 1.17
或更高。请参阅Lazy模块加载。
主模块:调用go
命令的模块。主模块由当前目录或父目录中的go.mod
文件定义。请参阅Modules,包和版本。
主要版本:语义版本中的第一个数字(v1.2.3
中的1
)。在更改不兼容的释放中,必须递增主要版本,并且次要和补丁版本必须设置为0.具有主要版本0的语义版本被认为是不稳定的。
主要版本子目录:符合模块的主要版本后缀匹配模块的版本控制存储库中的子目录。例如,使用根路径,在存储库中的模块example.com/mod/v2
,example.com/mod
可以在存储库根目录或主要版本子目录v2
中定义。请参见存储库中的Module目录。
主要版本后缀:与主要版本号匹配的模块路径后缀。例如,/v2
在example.com/mod/v2
中>。在v2.0.0
中需要主要版本后缀,稍后是必需的,并且不允许在早期版本中允许。请参阅主要版本后缀部分。
最小版本选择(MVS):用于确定将在构建中使用的所有模块版本的算法。有关详细信息,请参阅最小版本选择部分。
次要版本:语义版本中的第二个数字(v1.2.3
中的2
)。在具有新的,向后兼容功能的版本中,必须递增次要版本,并且必须将补丁版本设置为0。
模块:释放,版本化和分发的包集合。
模块缓存:存储下载模块的本地目录,位于GOPATH/pkg/mod
.中。请参见Module缓存。
模块图:模块要求的定向图,植根于主Module。图中的每个顶点都是模块;每个边缘是来自go.mod
文件中的require
语句的一个版本(受replace
和exclude
在主模块中的语句中go.mod
文件。
模块图修剪:通过省略指定Go 1.17
或更高的模块的传递依赖性,降低模块图的大小的Go 1.17的变化。见Module图修剪。
模块路径:标识模块的路径,并充当模块中包导入路径的前缀。例如,“golang.org/x/net”
。
模块代理:实现GOPROXY
协议的web服务器。go
命令下载版本信息,go.mod
文件,以及模块从模块代理的zip文件。
模块根目录:包含go.mod
文件的目录,该文件定义模块。
模块子目录: Module路径的部分之后存储库根路径 ,其指示定义了模块的子目录。非空的时,模块子目录也是语义版标签的前缀。如果有一个,则模块子目录不包括主要版本后缀,即使模块是在主要版本子目录中。请参见Module路径。
包:将在一起编译的同一目录中的源文件集合。在Go语言规范中,请参阅包部分。
包路径:唯一标识包的路径。包路径是Module路径与模块中的子目录一起加入。例如,「golang.org/x/net/html」
是「golang.org/x/net/htmlgolang.org/x/net」
中的程序包中的程序包的包路径。 「HTML」
子目录。 导入路径的同义词。
补丁版本:语义版本中的第三个数字(3``v1.2.3
)。在没有更改模块的公共接口的版本中,必须递增修补程序版本。
预发布版本:带有划线划线的版本,后跟一系列点分隔的标识符,例如补丁版本,例如v1.2.3-beta4
。预发布版本被认为是不稳定的,并且不假设与其他版本兼容。在相应的发布版本之前进行预发布版本:v1.2.3-pre
之前v1.2.3
。另请参见发布版本。
pseudo-version:从版本控制系统中编码修订标识符(例如git提交哈希)和时间戳的版本。例如,V0.0.0-20191109021931-DAA7C04131F5
。用于与非Module存储库的兼容性以及在标记版本不可用的其他情况下。
发布版本:没有预发布后缀的版本。例如,v1.2.3
,不是v1.2.3- pre
。另请参见预发布版本。
存储库根路径: Module路径的部分,它对应于版本控制存储库的根目录。请参见Module路径。
撤回版本:不应该依赖的版本,要么是因为它过早出版,或者因为在发布后发现了严重的问题。请参阅retract
指令。
语义版标记:版本控制存储库中的标记将版本映射到特定修订版。请参阅映射版本以提交。
所选版本: 最小版本选择选择的给定模块的版本。所选版本是Module图中找到的模块路径的最高版本。
vendor目录:名为vendor
的目录,其中包含来自其他模块所需的软件包来构建主模块中的包。维护go mod vendor
。见Vending。
版本:模块的不可变快照的标识符,写为字母v
,后跟语义版本。请参阅 Versions部分。
本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
推荐文章: