2015-12-24 63 views
1

我是新來的,所以這可能是最基本的。我有一個函數來從URL中檢索json,並且需要在URL中傳遞一個變量整數。如何將變量追加到另一個變量的末尾?這裏是我的代碼:在URL中傳遞變量golang

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

回答

7

使用fmt.Sprintf

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

我會使用net/URL包來構建你的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()) 

    }