2015-12-24 61 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()) 

    }