query.go 596 B

123456789101112131415161718192021222324
  1. package util
  2. import (
  3. "fmt"
  4. "strings"
  5. )
  6. // Query 将Map序列化为Query参数
  7. func Query(params map[string]interface{}) string {
  8. finalString := make([]string, 0)
  9. for key, value := range params {
  10. valueString := ""
  11. switch v := value.(type) {
  12. case int, int8, int16, int32, int64, uint, uint8, uint16, uint32, uint64:
  13. valueString = fmt.Sprintf("%d", v)
  14. case bool:
  15. valueString = fmt.Sprintf("%v", v)
  16. default:
  17. valueString = fmt.Sprintf("%s", v)
  18. }
  19. finalString = append(finalString, strings.Join([]string{key, valueString}, "="))
  20. }
  21. return strings.Join(finalString, "&")
  22. }