GoLang不匹配的类型[]字符串和字符串

时间:2017-05-13 20:08:54

标签: http go

我正在尝试在GoLang上编写http api。当我比较2个字符串时,我正在接受此错误"无效操作:a.TypeI == m [" type"] [0](不匹配的类型[]字符串和字符串)&#34 ;。我该如何解决,有人可以帮忙吗?

func listHandler(w http.ResponseWriter, r *http.Request) {
    u, errUrl := url.Parse(r.URL.String())
    check(errUrl)

    m, _ := url.ParseQuery(u.RawQuery)
    dat, err := ioutil.ReadFile("data.json")
    check(err)

    var basedata BaseData
    err2 := json.Unmarshal(dat, &basedata)
    check(err2)

    for _, a := range basedata.Pokemons {

        if a.TypeI == m["type"][0] || a.TypeII == m["type"][0] {
            fmt.Fprintln(w, "dosomething")
        }

    }
}

1 个答案:

答案 0 :(得分:0)

查看url包的Go文档,您需要Values.Get

if a.TypeI == m.Get("type") || a.TypeII == m.Get("type") {
    // do something
}

此外,您可以像我这样打印r.URL.String()的值:

fmt.Println(r.URL.String())