来源:hgdjnet-server 9bfbafe10d417deea959bd53117bc88a10e60a83 项目身份 HKDJ / JHA-216,独立官网仓库,Jenkins 守卫键 hkdjnet 测试目录 /server/hkdj_net,App/Web API 30331/30332 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
44 lines
554 B
Go
44 lines
554 B
Go
package utils
|
|
|
|
import (
|
|
"strconv"
|
|
"strings"
|
|
)
|
|
|
|
func getSubVersions(ver string) []int {
|
|
var vers [4]int
|
|
vv := strings.Split(ver, ".")
|
|
for i, v := range vv {
|
|
vers[i], _ = strconv.Atoi(v)
|
|
}
|
|
return vers[:]
|
|
}
|
|
|
|
// VersionCompare
|
|
func VersionCompare(a, b string) int {
|
|
|
|
aa := getSubVersions(a)
|
|
bb := getSubVersions(b)
|
|
|
|
for i := 0; i < len(aa) && i < len(bb); i++ {
|
|
|
|
if aa[i] == bb[i] {
|
|
continue
|
|
}
|
|
|
|
if aa[i] < bb[i] {
|
|
return -1
|
|
}
|
|
|
|
return 1
|
|
}
|
|
|
|
if len(aa) == len(bb) {
|
|
return 0
|
|
}
|
|
if len(aa) < len(bb) {
|
|
return -1
|
|
}
|
|
return 1
|
|
}
|