英文:
Pass variable in URL golang
问题
我是你的中文翻译助手,以下是你要翻译的内容:
我对Go语言还不熟悉,所以可能很基础。我有一个从URL获取JSON的函数,并且需要在URL中传递一个变量整数。如何将一个变量附加到另一个变量的末尾?这是我的代码:
type content struct {
StationTitle string `json:"StationTitle"`
}
func main() {
resp := content{}
getContent("http://foo.foo2.foo3=variableInteger", &resp)
println(resp.StationTitle)
}
// 获取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)
}
希望对你有帮助!
英文:
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)
}
答案1
得分: 7
使用fmt.Sprintf
getContent(fmt.Sprintf("http://foo.foo2.foo3=%d", variableInteger), &resp)
英文:
Using fmt.Sprintf
getContent(fmt.Sprintf("http://foo.foo2.foo3=%d", variableInteger), &resp)
答案2
得分: 3
我会使用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())
}
这段代码使用net/url包构建URL,并输出URL的字符串表示形式。
英文:
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())
}
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论