func (s SlotRange) String() string {
	return s.Min.String() + slotSeparator + s.Max.String()
}
String string representation of a slotrange
package redisutil
import (
	"fmt"
	"sort"
	"strconv"
	"strings"
)
var slotSeparator = "-"
var importingSeparator = "-<-"
var migratingSeparator = "->-"
type Slot uint64
func (s Slot) String() string {
	return strconv.FormatUint(uint64(s), 10)
}
type SlotSlice []Slot
func (s SlotSlice) Len() int           { return len(s) }
func (s SlotSlice) Less(i, j int) bool { return s[i] < s[j] }
func (s SlotSlice) Swap(i, j int)      { s[i], s[j] = s[j], s[i] }
func (s SlotSlice) String() string {
	return fmt.Sprintf("%s", SlotRangesFromSlots(s))
}
func DecodeSlot(s string) (Slot, error) {
	slot, err := strconv.ParseUint(s, 10, 64)
	return Slot(slot), err
}
type SlotRange struct {
	Min Slot `json:"min"`
	Max Slot `json:"max"`
}