version “github.com/hashicorp/go-version”

// 版本排序
func verSort(vv []string) []string {
    versions := make([]*version.Version, len(vv))
    for i, raw := range vv {
        v, _ := version.NewVersion(raw)
        versions[i] = v
    }
    sort.Sort(version.Collection(versions))
    ver := make([]string, len(vv))
    for i, s := range versions {
        ver[i] = s.Original()

    }
    return ver
}
v1, _ := version.NewVersion("1.2")
    v2, _ := version.NewVersion("1.5")
    if v1.LessThan(v2) { //LessThanOrEqual 包括等于 v1.Equal(v2)等于 GreaterThan大于 GreaterThanOrEquald大于等于
        fmt.Println("v1小于v2")
    }
    v1, _ = version.NewVersion("1.0")
    constraints, _ := version.NewConstraint(">= 1.0, < 1.4")
    if constraints.Check(v1) {
        fmt.Printf("v1在1.0-1.4之间,包括1.0")
    }
文档更新时间: 2022-08-17 13:05   作者:Yoby