util.go 829 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package util
  2. import (
  3. "crypto/rsa"
  4. "encoding/binary"
  5. "fmt"
  6. )
  7. // Signer interface
  8. type Signer interface {
  9. GetPrivateKey() *rsa.PrivateKey
  10. }
  11. // Check error function
  12. func Check(format string, args ...interface{}) {
  13. var hasError bool
  14. for _, v := range args {
  15. if err, ok := v.(error); ok && err != nil {
  16. hasError = true
  17. break
  18. }
  19. }
  20. if hasError {
  21. panic(fmt.Errorf(format, args...))
  22. }
  23. }
  24. // Uint64ToBytes func
  25. func Uint64ToBytes(v uint64) []byte {
  26. bb := make([]byte, 8)
  27. binary.LittleEndian.PutUint64(bb, v)
  28. return bb
  29. }
  30. // UintToBytes func
  31. func UintToBytes(v uint) []byte {
  32. bb := make([]byte, 4)
  33. binary.LittleEndian.PutUint32(bb, uint32(v))
  34. return bb
  35. }
  36. // InStringSlice func
  37. func InStringSlice(v string, list ...string) bool {
  38. for _, vl := range list {
  39. if v == vl {
  40. return true
  41. }
  42. }
  43. return false
  44. }