fork github.com/doug-martin

This commit is contained in:
2025-03-22 23:02:05 +08:00
commit f14642a736
131 changed files with 34555 additions and 0 deletions
+33
View File
@@ -0,0 +1,33 @@
package util
import (
"fmt"
"reflect"
"sort"
"strings"
)
type ValueSlice []reflect.Value
func (vs ValueSlice) Len() int { return len(vs) }
func (vs ValueSlice) Less(i, j int) bool { return vs[i].String() < vs[j].String() }
func (vs ValueSlice) Swap(i, j int) { vs[i], vs[j] = vs[j], vs[i] }
func (vs ValueSlice) Equal(other ValueSlice) bool {
sort.Sort(other)
for i, key := range vs {
if other[i].String() != key.String() {
return false
}
}
return true
}
func (vs ValueSlice) String() string {
vals := make([]string, vs.Len())
for i, key := range vs {
vals[i] = fmt.Sprintf("%q", key.String())
}
sort.Strings(vals)
return fmt.Sprintf("[%s]", strings.Join(vals, ","))
}