方法一:
~~~
func MakeParams(params url.Values, appKey string) (params_str, sign_str string) {
var s, p string
var keys []string
b := bytes.Buffer{}
b.WriteString(appKey)
for k, _ := range params {
if k != "sign" {
keys = append(keys, k)
}
}
sort.Strings(keys)
for _, v := range keys {
b.WriteString(v)
b.WriteString(params.Get(v))
}
p = b.String()
b.WriteString(appKey)
s = b.String()
p = strings.TrimRight(p, "&")
return p, s
}
~~~
方法二:
~~~
func MakeParams(params map[string][]string, appKey string) (params_str, sign_str string) {
var s, p string
var keys []string
b := bytes.Buffer{}
b.WriteString(appKey)
for k, _ := range params {
if k != "sign" {
keys = append(keys, k)
}
}
sort.Strings(keys)
for _, v := range keys {
b.WriteString(v)
b.WriteString(params[v][0])
}
p = b.String()
b.WriteString(appKey)
s = b.String()
p = strings.TrimRight(p, "&")
return p, s
}
~~~