bytes.go 574 B

1234567891011121314151617181920212223242526272829
  1. package compare
  2. import "v2ray.com/core/common/errors"
  3. func BytesEqualWithDetail(a []byte, b []byte) error {
  4. if len(a) != len(b) {
  5. return errors.New("mismatch array length ", len(a), " vs ", len(b))
  6. }
  7. for idx, v := range a {
  8. if b[idx] != v {
  9. return errors.New("mismatch array value at index [", idx, "]: ", v, " vs ", b[idx])
  10. }
  11. }
  12. return nil
  13. }
  14. func BytesEqual(a []byte, b []byte) bool {
  15. return BytesEqualWithDetail(a, b) == nil
  16. }
  17. func BytesAll(arr []byte, value byte) bool {
  18. for _, v := range arr {
  19. if v != value {
  20. return false
  21. }
  22. }
  23. return true
  24. }