...
1
2
3
4
5
6
7 package description
8
9 import "fmt"
10
11
12 type VersionRange struct {
13 Min int32
14 Max int32
15 }
16
17
18 func NewVersionRange(min, max int32) VersionRange {
19 return VersionRange{Min: min, Max: max}
20 }
21
22
23
24 func (vr VersionRange) Includes(v int32) bool {
25 return v >= vr.Min && v <= vr.Max
26 }
27
28
29 func (vr *VersionRange) Equals(other *VersionRange) bool {
30 if vr == nil && other == nil {
31 return true
32 }
33 if vr == nil || other == nil {
34 return false
35 }
36 return vr.Min == other.Min && vr.Max == other.Max
37 }
38
39
40 func (vr VersionRange) String() string {
41 return fmt.Sprintf("[%d, %d]", vr.Min, vr.Max)
42 }
43
View as plain text