GoLang 类型不匹配 []string 和 string

huangapple go评论69阅读模式
英文:

GoLang mismatched types []string and string

问题

我正在尝试在GoLang上编写HTTP API。当我比较两个字符串时,出现了以下错误:"invalid operation: a.TypeI == m["type"][0] (mismatched types []string and string)"。我该如何修复这个错误?有人可以帮忙吗?

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")
        }

    }
}

以上是你要翻译的内容。

英文:

i am trying to write http api on GoLang. When i am comparing 2 string, i am taking this error "invalid operation: a.TypeI == m["type"][0] (mismatched types []string and string)". How can i fix, can anyone help ?

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

在查看url包的Go文档时,你需要使用Values.Get

if a.TypeI == m.Get("type") || a.TypeII == m.Get("type") {
    // 做一些操作
}

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

fmt.Println(r.URL.String())
英文:

Looking at the Go docs for the url package, you want Values.Get:

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

Furthermore, can you print the value of r.URL.String() for me like this:

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

huangapple
  • 本文由 发表于 2017年5月14日 04:08:53
  • 转载请务必保留本文链接:https://go.coder-hub.com/43957535.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定