Grange is range library to manipulate date and number range
# v1
go get github.com/karnott/grange
# v2
go get github.com/karnott/grange/v2
import github.com/karnott/grange
func main() {
range1 := grange.NumberRange[int]{1, 10}
range2 := grange.NumberRange[int]{5, 20}
rangeIntersection := range.Intersection(range1, range2)
// rangeIntersection == [2]NumberRange[int]{5, 10}
}
You need to use Golang 1.18 or newer version
- range intersection
- range union
- range difference
- range contain
- range before
- range after