v0.3.1 Latest Latest

This package is not in the latest version of its module.

Go to latest
Published: Jan 16, 2023 License: Apache-2.0 Imports: 7 Imported by: 2,901



Semantic Versions




This section is empty.


This section is empty.


func Sort

func Sort(versions []*Version)

Sort sorts the given slice of Version


type PreRelease

type PreRelease string

func (PreRelease) Slice

func (p PreRelease) Slice() []string

type Version

type Version struct {
	Major      int64
	Minor      int64
	Patch      int64
	PreRelease PreRelease
	Metadata   string

func Must

func Must(v *Version, err error) *Version

Must is a helper for wrapping NewVersion and will panic if err is not nil.

func New added in v0.2.0

func New(version string) *Version

func NewVersion

func NewVersion(version string) (*Version, error)

func (*Version) BumpMajor

func (v *Version) BumpMajor()

BumpMajor increments the Major field by 1 and resets all other fields to their default values

func (*Version) BumpMinor

func (v *Version) BumpMinor()

BumpMinor increments the Minor field by 1 and resets all other fields to their default values

func (*Version) BumpPatch

func (v *Version) BumpPatch()

BumpPatch increments the Patch field by 1 and resets all other fields to their default values

func (Version) Compare added in v0.2.0

func (v Version) Compare(versionB Version) int

Compare tests if v is less than, equal to, or greater than versionB, returning -1, 0, or +1 respectively.

func (Version) Equal added in v0.2.0

func (v Version) Equal(versionB Version) bool

Equal tests if v is equal to versionB.

func (Version) LessThan

func (v Version) LessThan(versionB Version) bool

LessThan tests if v is less than versionB.

vA := New("1.2.3")
vB := New("3.2.1")

fmt.Printf("%s < %s == %t\n", vA, vB, vA.LessThan(*vB))

1.2.3 < 3.2.1 == true

func (Version) MarshalJSON

func (v Version) MarshalJSON() ([]byte, error)

func (*Version) Set added in v0.2.0

func (v *Version) Set(version string) error

Set parses and updates v from the given version string. Implements flag.Value

func (Version) Slice

func (v Version) Slice() []int64

Slice converts the comparable parts of the semver into a slice of integers.

func (Version) String

func (v Version) String() string

func (*Version) UnmarshalJSON

func (v *Version) UnmarshalJSON(data []byte) error

func (*Version) UnmarshalYAML

func (v *Version) UnmarshalYAML(unmarshal func(interface{}) error) error

type Versions

type Versions []*Version

func (Versions) Len

func (s Versions) Len() int

func (Versions) Less

func (s Versions) Less(i, j int) bool

func (Versions) Swap

func (s Versions) Swap(i, j int)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL