如何在Golang中将标志变量传递给http.Get

时间:2019-04-06 02:22:37

标签: go flags

我有一个代码块,用于硬编码我正在使用的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))
    }

}

谢谢!

1 个答案:

答案 0 :(得分:1)

这就是fmt.Sprintfhttps://golang.org/pkg/fmt/#Sprintf)的目的。

response, err := http.Get(fmt.Sprintf("https://swapi.co/api/%s/1", resourcePtr))
相关问题