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 }