我正在尝试在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")
}
}
}
答案 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())