mirror of
https://github.com/HDT3213/godis.git
synced 2025-10-06 01:07:06 +08:00
31 lines
579 B
Go
31 lines
579 B
Go
package utils
|
|
|
|
// Equals check whether the given value is equal
|
|
func Equals(a interface{}, b interface{}) bool {
|
|
sliceA, okA := a.([]byte)
|
|
sliceB, okB := b.([]byte)
|
|
if okA && okB {
|
|
return BytesEquals(sliceA, sliceB)
|
|
}
|
|
return a == b
|
|
}
|
|
|
|
// BytesEquals check whether the given bytes is equal
|
|
func BytesEquals(a []byte, b []byte) bool {
|
|
if (a == nil && b != nil) || (a != nil && b == nil) {
|
|
return false
|
|
}
|
|
if len(a) != len(b) {
|
|
return false
|
|
}
|
|
size := len(a)
|
|
for i := 0; i < size; i++ {
|
|
av := a[i]
|
|
bv := b[i]
|
|
if av != bv {
|
|
return false
|
|
}
|
|
}
|
|
return true
|
|
}
|