Skip to content

版本号结构

关键

一个版本号被解析为 5 个组成部分Raw / Prefix / VersionNumbers / Suffix / Metadata(外加可选的 PublicTime)。

🧱 五段分解

v1.2.3-beta1+build.7 为例:

v  1.2.3  -beta1  +build.7
│  │      │       └─ Metadata(构建元数据,不参与比较)
│  │      └──────── Suffix(数字后内容,按权重比较)
│  └─────────────── VersionNumbers(数字段 []int)
└────────────────── Prefix(数字前导)
字段类型说明
Rawstring"v1.2.3-beta1+build.7"原始字符串
PrefixVersionPrefix"v"数字前导,可为空
VersionNumbers[]int[1, 2, 3]数字段
SuffixVersionSuffix"-beta1"数字后内容
Metadatastring"build.7"semver 构建元数据

🔍 各段行为

  • Prefix:仅显示用,不参与比较1.2.3v1.2.3 等价。
  • VersionNumbers:比较的核心。逐段比较,缺失段视为 0。
  • Suffix:当数字段完全相同时,按后缀权重比较。
  • Metadata:完全忽略,仅作展示。

🧭 延伸

基于 MIT 协议发布