util.go 721 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package client
  2. import "fmt"
  3. func ToStrings(data interface{}) []string {
  4. var i []string
  5. if vv, ok := data.([]interface{}); ok {
  6. for _, in := range vv {
  7. i = append(i, fmt.Sprint(in))
  8. }
  9. }
  10. return i
  11. }
  12. func ToString(data interface{}) string {
  13. if data == nil {
  14. return ""
  15. }
  16. return fmt.Sprint(data)
  17. }
  18. func ToFloat64(data interface{}) float64 {
  19. var i float64
  20. if vv, ok := data.(float64); ok {
  21. i = vv
  22. return i
  23. }
  24. if vv, ok := data.(int64); ok {
  25. i = float64(vv)
  26. return i
  27. }
  28. return i
  29. }
  30. func ToFloat32(data interface{}) float32 {
  31. if v, ok := data.(float32); ok {
  32. return v
  33. }
  34. if v, ok := data.(float64); ok {
  35. return float32(v)
  36. }
  37. if v, ok := data.(int64); ok {
  38. return float32(v)
  39. }
  40. return 0
  41. }