feat(verx): 自 go-hua/common 迁入版本号工具并独立成包

- 点分版本号解析/还原/比较,CompareVersion 依赖 numx.Min
- 附单元测试、examples/verx 例程与包 README
This commit is contained in:
2026-09-20 12:20:51 +08:00
parent 263cf78317
commit 1c9c717579
4 changed files with 192 additions and 0 deletions
+26
View File
@@ -0,0 +1,26 @@
# verx
版本号工具:点分版本号与结构互转、版本比较。
> 迁移自 go-hua/common(原 version.go,Max/Min 归入 numx)。
## 用法
```go
import "git.zeroonesoft.cn/golib/zogo/verx"
// 结构化版本:解析 / 还原 / 比较
ver := verx.StringToVersionInfo("1.2.3") // {1,2,3,0}
s := verx.VersionToString(ver) // "1.2.3.0"
verx.VersionComparison(ver, verx.StringToVersionInfo("2.0.0.0")) // -1
// 点分字符串直接比较:1 大于 / -1 小于 / 0 等于
verx.CompareVersion("1.2.0", "1.10.0") // -1
```
完整可运行例程:[examples/verx/main.go](../examples/verx/main.go)
## 注意
- `VersionInfo` 每段为 int64,但与 2 字节互转的历史约定仍在:超过 65535 会溢出截断。
- `CompareVersion` 按段逐段数字比较,段数不同时缺段按 0 处理("2.0" > "1.9.9")。