我是新手,所以这可能是基本的。我有一个函数从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)
}
答案 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())
}