Golang 入门资料+笔记GolangGolang语言社区

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
}

上一篇下一篇

猜你喜欢

热点阅读