go-ml.dev/pkg/base@v0.0.0-20200610162856-60c38abac71b/fu/version.go (about)

     1  package fu
     2  
     3  import (
     4  	"fmt"
     5  )
     6  
     7  type VersionType int
     8  
     9  func (v VersionType) String() string {
    10  	return fmt.Sprintf("%d.%d.%d", v.Major(), v.Minor(), v.Patch())
    11  }
    12  
    13  func (v VersionType) Major() int {
    14  	return int(v / 10000)
    15  }
    16  
    17  func (v VersionType) Minor() int {
    18  	return int(v / 100 % 100)
    19  }
    20  
    21  func (v VersionType) Patch() int {
    22  	return int(v % 100)
    23  }
    24  
    25  func MakeVersion(major, minor, patch int) VersionType {
    26  	return VersionType(major*10000 + minor*100 + patch)
    27  }