I am new to go so this probably elementary. I have a function to retrieve json from a URL and need to pass a variable integer within the URL. How do append a variable onto the end of another variable? Here is my code:
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)
}
使用fmt.Sprintf
getContent(fmt.Sprintf("http://foo.foo2.foo3=%d", variableInteger), &resp)
I would use the net/url package to build your 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())
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.