简体   繁体   中英

Pass variable in URL golang

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM