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

问题描述 投票:0回答:1

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

}

提前致谢!

go flags
1个回答
1
投票

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

response, err := http.Get(fmt.Sprintf("https://swapi.co/api/%s/1", resourcePtr))
© www.soinside.com 2019 - 2024. All rights reserved.