Skip to content
/ version Public

Go 的版本号解析,通过定义 struct tag 可以实现大部分版本号解析,比如 semver

License

Notifications You must be signed in to change notification settings

issue9/version

Repository files navigation

version Test codecov License Go version PkgGoDev

通过定义 struct tag 的相关属性,可以解析大部份版本号字符串到一个结构体中。

type Version struct {
    Major int    `version:"0,number,.1"`
    Minor int    `version:"1,number,+2"`
    Build string `version:"2,string"`
}

ver := &Version{}
version.Parse(ver, "2.1+160616")
// 解析之后
// ver.Major == 2, ver.Minor == 1, ver.Build == 160616

同时也定义了一个 semver 的一个内部实现。

semver,err := version.SemVer("2.10.1+build")
if err != nil{
    // TODO
}

fmt.Println(semver)
// semver.Major == 2
// semver.Minor == 10
// semver.Patch == 1
// semver.Build == build

安装

go get github.com/issue9/version

版权

本项目采用 MIT 开源授权许可证,完整的授权说明可在 LICENSE 文件中找到。

About

Go 的版本号解析,通过定义 struct tag 可以实现大部分版本号解析,比如 semver

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages