go - 如何将标志变量传递给 Golang 中的 http.Get

标签 go flags

我有一段代码,它对我正在使用的 REST API 所需的 URL 进行硬编码。我想做的是,使用这两个标志动态生成 URL。例如,效果如下:

响应,错误 := 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))

关于go - 如何将标志变量传递给 Golang 中的 http.Get,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55545303/

相关文章:

go - 如何在 Go 中获得 "virtualhost"功能?

templates - html/模板 : how to get JavaScript (JSON) escaping without <script> tag?

c++ - 在 C++ 中表示位标志的枚举中的 ALL 标志的紧凑非重复方式

c++ - 你怎么能在C++中检查一个单独的二进制数字

database - 在一个查询中获取结构和其他数据

struct - 难以理解接口(interface)/结构关系

python - pandas中 "flag"有什么用

Android - 使用 FLAG_ACTIVITY_NEW_TASK

重新定义了 Golang 标志

golang assemble 内存分配