• 大家说说看都用啥写Go at 2016年10月14日

    VSCode

  • golang url解析问题 at 2016年10月12日

    谢大,这段代码是默认的ParseForm()中使用的ParseQuery处理函数

    func parseQuery(m Values, query string) (err error) {
        for query != "" {
            key := query
            if i := strings.IndexAny(key, "&;"); i >= 0 {
                key, query = key[:i], key[i+1:]
            } else {
                query = ""
            }
            if key == "" {
                continue
            }
            value := ""
            if i := strings.Index(key, "="); i >= 0 {
                key, value = key[:i], key[i+1:]
            }
            key, err1 := QueryUnescape(key)
            if err1 != nil {
                if err == nil {
                    err = err1
                }
                continue
            }
            value, err1 = QueryUnescape(value)
            if err1 != nil {
                if err == nil {
                    err = err1
                }
                continue
            }
            m[key] = append(m[key], value)
        }
        return err
    }
    
    

    想要处理这种情况,需要自己手动解析r.URL.RawQuery