golang分解http GET字符参数串到map
2019-04-04 本文已影响4人
毛毛v5
来了一串字符串,类似于http GET的URL参数串。不知道"net/url"能解http://www.pic98.com/srs?sessionid=22222&token=3333 这样的串。但是能不能分解 ?sessionid=22222&token=3333 这样的串没试过。其实自己构造个解析也很快的。上代码。
func uri2map(uri string) (map[string]string, error) {
m := make(map[string]string)
if len(uri) < 1 { // 空字符串
return m, errors.New("uri is none")
}
if uri[0:1] == "?" { // 有没有包含?,有的话忽略。
uri = uri[1:]
}
// 首先分解&(sessionid=22222&token=3333 )变成
// sessionid=222222 和 token=3333
pars := strings.Split(uri, "&")
for _, par := range pars {
// 然后分解 sessionid=222222 和 token=3333
parkv := strings.Split(par, "=")
m[parkv[0]] = parkv[1] // 等号前面是key,后面是value
}
log.Println(m)
return m, nil
}