本文摘自网络,作者,侵删。
代码:
func HttpBuildQuery(params map[string]string) (param_str string) {
params_arr := make([]string, 0, len(params))
for k, v := range params {
params_arr = append(params_arr, fmt.Sprintf("%s=%s", k, v))
}
//fmt.Println(params_arr)
param_str = strings.Join(params_arr, "&")
return param_str
}
func main(){
params := map[string]string{
"action": "getAccessToken",
"client_code": "aaaaa",
"client_secret": "ccccc",
"interface": "wxapi",
"time": strconv.FormatInt(time.Now().Unix(), 10),
}
param_str := HttpBuildQuery(params)
}
golang 标准做法1:
import (
"fmt"
"net/url"
)
func main() {
q := url.Values{}
q.Set("action", "getAccessToken")
q.Set("client_code", clientCode)
q.Set("client_secret", clientSecret)
q.Set("interface", "wxapi")
q.Set("refresh", refresh)
q.Set("time", strconv.FormatInt(time.Now().Unix(), 10))
fmt.Printf(q.Encode())
//此方法对中文不友好
}
golang 标准做法2:
import (
"fmt"
"net/url"
)
func main() {
var uri url.URL
q := uri.Query()
q.Add("name", "张三")
q.Add("age", "20")
q.Add("sex", "1")
queryStr := q.Encode()
fmt.Println(queryStr)
}
//此方法会中文友好,且会把key按照字母 a-z 排序。
本文来自:简书
感谢作者:我爱张智容
查看原文:golang 类似PHP中 http_build_query 方法
相关阅读 >>
leetcode153 寻找旋转排序数组中的最小值 Golang
更多相关阅读请进入《Go》频道 >>

Go语言101
一个与时俱进的Go编程知识库。