version

package
v12.41.0+incompatible Latest Latest
Warning

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

Go to latest
Published: Feb 8, 2022 License: Apache-2.0 Imports: 4 Imported by: 16

Documentation

Overview

Package version provides methods for working with semver version info

Index

Examples

Constants

This section is empty.

Variables

View Source
var (
	// ErrEmpty is returned is given version is empty
	ErrEmpty = errors.New("Version can't be empty")
	// ErrEmptyBuild is returned if build number is empty
	ErrEmptyBuild = errors.New("Build number is empty")
	// ErrEmptyPrerelease is returned is prerelease number is empty
	ErrEmptyPrerelease = errors.New("Prerelease number is empty")
)

Functions

This section is empty.

Types

type Version

type Version struct {
	// contains filtered or unexported fields
}

Version contains version data

func Parse

func Parse(v string) (Version, error)

Parse parses version string and return version struct

Example
v, err := Parse("6.12.1-beta2+exp.sha.5114f85")

if err != nil {
	fmt.Printf("Error: %v\n", err)
	return
}

fmt.Printf("Major: %d\n", v.Major())
fmt.Printf("Minor: %d\n", v.Minor())
fmt.Printf("Patch: %d\n", v.Patch())
fmt.Printf("PreRelease: %s\n", v.PreRelease())
fmt.Printf("Build: %s\n", v.Build())
Output:

Major: 6
Minor: 12
Patch: 1
PreRelease: beta2
Build: exp.sha.5114f85

func (Version) Build

func (v Version) Build() string

Build returns build string

Example
v, _ := Parse("4.12.7+2f6c6ea6287d2f14")

fmt.Println(v.Build())
Output:

2f6c6ea6287d2f14

func (Version) Contains

func (v Version) Contains(version Version) bool

Contains checks is current version contains given version

Example
v1, _ := Parse("1.0")
v2, _ := Parse("1.0.1")
v3, _ := Parse("1.1")

fmt.Printf("%s contains %s → %t\n", v1.String(), v2.String(), v1.Contains(v2))
fmt.Printf("%s contains %s → %t\n", v1.String(), v3.String(), v1.Contains(v3))
Output:

1.0 contains 1.0.1 → true
1.0 contains 1.1 → false

func (Version) Equal

func (v Version) Equal(version Version) bool

Equal return true if version are equal to given

Example
v1, _ := Parse("1")
v2, _ := Parse("1.0.0")
v3, _ := Parse("1.0.1")

fmt.Printf("%s = %s → %t\n", v1.String(), v2.String(), v1.Equal(v2))
fmt.Printf("%s = %s → %t\n", v1.String(), v3.String(), v1.Equal(v3))
Output:

1 = 1.0.0 → true
1 = 1.0.1 → false

func (Version) Greater

func (v Version) Greater(version Version) bool

Greater returns true if given version is less

Example
v1, _ := Parse("1")
v2, _ := Parse("1.0.0")
v3, _ := Parse("1.0.1")

fmt.Printf("%s > %s → %t\n", v1.String(), v2.String(), v1.Greater(v2))
fmt.Printf("%s > %s → %t\n", v3.String(), v1.String(), v3.Greater(v1))
Output:

1 > 1.0.0 → false
1.0.1 > 1 → true

func (Version) Int

func (v Version) Int() int

Int returns version as integer

Example
v, _ := Parse("14.8.22")

fmt.Println(v.Int())
Output:

14008022

func (Version) IsZero

func (v Version) IsZero() bool

IsZero returns if version is zero (0.0.0)

func (Version) Less

func (v Version) Less(version Version) bool

Less returns true if given version is greater

Example
v1, _ := Parse("1")
v2, _ := Parse("1.0.0")
v3, _ := Parse("1.0.1")

fmt.Printf("%s < %s → %t\n", v1.String(), v2.String(), v1.Less(v2))
fmt.Printf("%s < %s → %t\n", v1.String(), v3.String(), v1.Less(v3))
Output:

1 < 1.0.0 → false
1 < 1.0.1 → true

func (Version) Major

func (v Version) Major() int

Major returns major version

Example
v, _ := Parse("4.12.7")

fmt.Println(v.Major())
Output:

4

func (Version) Minor

func (v Version) Minor() int

Minor returns minor version

Example
v, _ := Parse("4.12.7")

fmt.Println(v.Minor())
Output:

12

func (Version) Patch

func (v Version) Patch() int

Patch returns patch version

Example
v, _ := Parse("4.12.7")

fmt.Println(v.Patch())
Output:

7

func (Version) PreRelease

func (v Version) PreRelease() string

PreRelease returns prerelease version

Example
v, _ := Parse("4.12.7-rc1")

fmt.Println(v.PreRelease())
Output:

rc1

func (Version) Simple

func (v Version) Simple() string

Simple returns simple version (without prerelease and build info, with major, minor and patch)

func (Version) String

func (v Version) String() string

String returns version as string

Example
v, _ := Parse("6.12.1-beta2+exp.sha.5114f85")

fmt.Println(v.String())
Output:

6.12.1-beta2+exp.sha.5114f85

Jump to

Keyboard shortcuts

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