如何在 Golang 中将标志变量传递给 http.Get
How to pass flag variable into http.Get in Golang
我有一段代码,它硬编码了我正在使用的 REST API 所需的 URL。我想做的是,使用这两个标志动态生成 URL。例如,效果为:
response, err := http.Get("https://swapi.co/api/%s/1", resourcePtr)
我目前的代码如下:
func main() {
resourcePtr := flag.String("resource", "", "a string")
idPtr := flag.Int("id", 1, "an int")
flag.Parse()
response, err := http.Get("https://swapi.co/api/planets/1")
if err != nil {
fmt.Printf("HTTP request failed with error %s\n", err)
} else {
data, _ := ioutil.ReadAll(response.Body)
fmt.Println(string(data))
}
}
提前致谢!
这就是 fmt.Sprintf
(https://golang.org/pkg/fmt/#Sprintf) 的用途。
response, err := http.Get(fmt.Sprintf("https://swapi.co/api/%s/1", resourcePtr))
我有一段代码,它硬编码了我正在使用的 REST API 所需的 URL。我想做的是,使用这两个标志动态生成 URL。例如,效果为:
response, err := http.Get("https://swapi.co/api/%s/1", resourcePtr)
我目前的代码如下:
func main() {
resourcePtr := flag.String("resource", "", "a string")
idPtr := flag.Int("id", 1, "an int")
flag.Parse()
response, err := http.Get("https://swapi.co/api/planets/1")
if err != nil {
fmt.Printf("HTTP request failed with error %s\n", err)
} else {
data, _ := ioutil.ReadAll(response.Body)
fmt.Println(string(data))
}
}
提前致谢!
这就是 fmt.Sprintf
(https://golang.org/pkg/fmt/#Sprintf) 的用途。
response, err := http.Get(fmt.Sprintf("https://swapi.co/api/%s/1", resourcePtr))