在URL golang中传递变量

时间:2015-12-24 21:46:30

标签: go

我是新手,所以这可能是基本的。我有一个函数从URL中检索json,需要在URL中传递一个变量整数。如何将变量附加到另一个变量的末尾?这是我的代码:

    type content struct {

StationTitle string `json:"StationTitle"`
}

func main() {

resp := content{}
getContent("http://foo.foo2.foo3=variableInteger", &resp)
println(resp.StationTitle)
}

// fetch json

func getContent(url string, target interface{}) error {
r, err := http.Get(url)
if err != nil {
return err
}
defer r.Body.Close()

return json.NewDecoder(r.Body).Decode(target)
}

2 个答案:

答案 0 :(得分:7)

使用fmt.Sprintf

getContent(fmt.Sprintf("http://foo.foo2.foo3=%d", variableInteger), &resp)

答案 1 :(得分:3)

我会使用net / url包来构建你的网址。

    package main

    import ("fmt"
        "net/url"
        )


    func main() {
        query := make(url.Values)
        query.Add("foo3", "123")
        url := &url.URL{RawQuery: query.Encode(), Host: "foo", Scheme: "http"}
        fmt.Println(url.String())

    }