Need help with go-version?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

mcuadros
134 Stars 28 Forks MIT License 34 Commits 1 Opened issues

Description

Version normalizer and comparison library for go

Services available

!
?

Need anything else?

Contributors list

# 14,878
Go
golang
git-cli...
Git
22 commits
# 170,023
Go
Linux
Python
Shell
2 commits
# 89,378
Groovy
C#
zstanda...
snappy
1 commit
# 103,700
Go
Shell
Markdow...
1 commit
# 11,577
golang
binary-...
multipl...
query-l...
1 commit
# 43,001
Go
curl
Arch Li...
lru
1 commit

go-version Build Status GoDoc

Version normalizer and comparison library for go, heavy based on PHP version_compare function and Version comparsion libs from Composer PHP project

Installation

The recommended way to install go-version

go get github.com/mcuadros/go-version

Examples

How import the package

import (
    "github.com/mcuadros/go-version"
)

version.Normalize()
: Normalizes a version string to be able to perform comparisons on it
version.Normalize("10.4.13-b")
//Returns: 10.4.13.0-beta

version.CompareSimple()
: Compares two normalizated version number strings
version.CompareSimple("1.2", "1.0.1")
//Returns: 1

version.CompareSimple("1.0rc1", "1.0") //Returns: -1

version.Compare()
: Compares two normalizated version number strings, for a particular relationship
version.Compare("1.0-dev", "1.0", "=")
//Returns: false

version.Compare("2.3.4", "v3.1.2", "

version.ConstrainGroup.Match()
: Match a given version againts a group of constrains, read about constraint string format at Composer documentation
c := version.NewConstrainGroupFromString(">2.0,<=3.0")
c.Match("2.5.0beta")
//Returns: true

c := version.NewConstrainGroupFromString("~1.2.3") c.Match("1.2.3.5") //Returns: true

version.Sort()
: Sorts a string slice of version number strings using version.CompareSimple()
version.Sort([]string{"1.10-dev", "1.0rc1", "1.0", "1.0-dev"})
//Returns []string{"1.0-dev", "1.0rc1", "1.0", "1.10-dev"}

License

MIT, see LICENSE

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.