Ejemplo n.º 1
0
func (c *sortIter) Less(i, j int) bool {
	var a = c.data[i]
	var b = c.data[j]
	for _, k := range c.sort {
		var asc = true
		if strings.HasPrefix(k, "-") {
			k = k[1:]
			asc = false
		}
		var v1, ok1 = a.data[k]
		if !ok1 {
			v1 = nil
		}
		var v2, ok2 = b.data[k]
		if !ok2 {
			v2 = nil
		}
		var t = util.Compare(v1, v2)
		if t == 0 {
			continue
		}
		if t < 0 {
			return asc
		}
		return !asc
	}
	return false
}
Ejemplo n.º 2
0
func gte(a, b interface{}) bool {
	return util.Compare(a, b) >= 0
}
Ejemplo n.º 3
0
func lte(a, b interface{}) bool {
	return util.Compare(a, b) <= 0
}
Ejemplo n.º 4
0
func eq(a, b interface{}) bool {
	return util.Compare(a, b) == 0
}