Skip to content
This repository was archived by the owner on Mar 30, 2020. It is now read-only.

mcuadros/go-version

Folders and files

NameName
Last commit message
Last commit date

Latest commit

035f676 · Aug 30, 2019

History

34 Commits
Apr 24, 2013
Apr 24, 2013
Apr 24, 2013
Nov 5, 2016
Mar 14, 2019
Dec 11, 2018
Mar 14, 2019
May 30, 2018
Nov 21, 2013
Mar 14, 2019
May 30, 2018
Nov 21, 2013
Apr 24, 2013
Sep 24, 2014
Sep 24, 2014
Apr 27, 2013
Apr 27, 2013

Repository files navigation

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: true

version.Compare("1.0rc1", "1.0", ">=")
//Returns: false

version.Compare("2.3.4", "v3.1.2", "<")
//Returns: true

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

About

Version normalizer and comparison library for go

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages