utils.go 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package request
  2. import (
  3. "bytes"
  4. "encoding/binary"
  5. "encoding/json"
  6. )
  7. func Export(v interface{}) string {
  8. b, err := json.Marshal(v)
  9. if err != nil {
  10. return ""
  11. }
  12. var buf bytes.Buffer
  13. err = json.Indent(&buf, b, "", "\t")
  14. if err != nil {
  15. return ""
  16. }
  17. return buf.String()
  18. }
  19. func Json(v interface{}) string {
  20. b, err := json.Marshal(v)
  21. if err != nil {
  22. return ""
  23. }
  24. return string(b)
  25. }
  26. func IntByte(v interface{}) []byte {
  27. b := bytes.NewBuffer([]byte{})
  28. switch v.(type) {
  29. case int:
  30. binary.Write(b, binary.BigEndian, int64(v.(int)))
  31. case int8:
  32. binary.Write(b, binary.BigEndian, v.(int8))
  33. case int16:
  34. binary.Write(b, binary.BigEndian, v.(int16))
  35. case int32:
  36. binary.Write(b, binary.BigEndian, v.(int32))
  37. case int64:
  38. binary.Write(b, binary.BigEndian, v.(int64))
  39. case uint:
  40. binary.Write(b, binary.BigEndian, uint64(v.(uint)))
  41. case uint8:
  42. binary.Write(b, binary.BigEndian, v.(uint8))
  43. case uint16:
  44. binary.Write(b, binary.BigEndian, v.(uint16))
  45. case uint32:
  46. binary.Write(b, binary.BigEndian, v.(uint32))
  47. case uint64:
  48. binary.Write(b, binary.BigEndian, v.(uint64))
  49. }
  50. return b.Bytes()
  51. }