golang分解http GET字符参数串到map

作者: 毛毛v5 | 来源:发表于2019-04-04 09:57 被阅读4次

    来了一串字符串,类似于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
    }
    
    

    相关文章

      网友评论

        本文标题:golang分解http GET字符参数串到map

        本文链接:https://www.haomeiwen.com/subject/nvaxiqtx.html